ORA-00923:FROMキーワードが指定の位置にありませんと表示された時の対処法


検索した結果が残念だったので紹介
意味としてはFrom句 の前に構文エラーが存在するということだがデータベースの種類によってエラーになる記述をしているケースがある。









原因1 単純な構文ミス


以下Oracleのサイトより

Oracleでの一般的エラー
インタフェースで生成されたコード、またはプロシージャで入力されたコードがOracleで無効です。この問題は、通常、マッピングまたは結合のフィルタにおける入力エラーに関連しています。よくある原因は、欠落した引用符や閉じられていないカッコです。
他によくある原因は、SQL以外の構文に対するコール(EXECUTE SCHEMA.PACKAGE.PROC(PARAM1, PARAM2)という構文を使用したOracleストアド・プロシージャへのコールなど)です。
ストアド・プロシージャに対する有効なSQLコールは、次のとおりです。


何を言っているかよくわからないがFrom句 の前に構文エラーが存在すると考えていい。
スペルミスやそもそもFROM句はあるかなどを確認すること。

ここまでの情報で解決しない場合は恐らく以下が原因



原因2 ORACLE のSELECTに仕様によるもの



エラーになる最小のコード

Select *, ID
From Customer

修正したコード

Select Customer.*, ID
From Customer

すべての項目を取得したうえで更に個別に項目を取得する場合Select句にテーブル名.* を指定する必要があるとのこと

SQLServerだとOKでOracleだとNGとのこと
http://blog.livedoor.jp/akf0/archives/51327468.html


いじょー

2016年8月5日金曜日