以下のように表示されます。
(日本語)
ORA-00936: 式がありません
(英語)
ORA-00936: Missing Expression
発生パターン
このエラーは以下のような場合に発生します。
- SQL文のwhereに続く条件が無い
- SELECT文やCREATE文に不要なカンマ(,)が含まれているなど構文がおかしい
- テーブル名やカラム名に予約語を使用している場合、そのテーブル名やカラム名をダブルクォーテーションで囲っていない
- エラー例1
- SQL> select * from m_test where; select * from m_test where * 行1でエラーが発生しました。: ORA-00936: 式がありません。
whereに続く条件が抜けています。
- エラー例2
- SQL> select col1, col2, from m_test; select col1, col2, from m_test * 行1でエラーが発生しました。: ORA-00936: 式がありません。
col2の直後に不要なカンマが付いているので、削除すればOKです。
- エラー例3
- SQL> select ,col1, col2 from m_test; select ,col1, col2 from m_test * 行1でエラーが発生しました。: ORA-00936: 式がありません。
col1の直前に不要なカンマが付いているので、削除すればOKです。
対処法
- SQL文に不要なカンマが含まれていないか確認する
- SQL文の構文が正しいか確認する
備考
- ORA-00936が発生する時は、SQL文に構文の間違いがある事が原因です。
- SQL文のどこかに必ず構文のミスがあるので、1文字1文字根気よく原因を探ってください。