以下のように表示されます。
(日本語)
ORA-00933: SQLコマンドが正しく終了されていません。
(英語)
ORA-00933: SQL command not properly ended
発生パターン
このエラーはSQL文が以下のような場合に発生します。
- オラクル的に意味を持った記号(*、:、& など)がテーブル名に含まれる
- テーブルに別名を付ける時に AS を指定している
- SQL文に構文的な間違いがある
- エラー例1
- SQL> select * from test*; select * from test* * 行1でエラーが発生しました。: ORA-00933: SQLコマンドが正しく終了されていません。
- エラー例2
- SQL> select * from test as A; select * from test as A * 行1でエラーが発生しました。: ORA-00933: SQLコマンドが正しく終了されていません。
対処法
- 正しいテーブル名を指定する。
- テーブルに別名を付ける時はASは不要。
備考
- このエラーが発生する原因は本当にたくさんあり、一概にこれと原因を言う事ができません。
- しかし、SQL文に構文ミスもしくはスペルミスが必ずどこかにあるので、SQL文を一文字一文字チェックしてみてください。
どちらにも該当しないのにエラーがでる場合はどうすれば良いですか?
このエラーはいろいろなパターンで発生するので原因の特定が難しいですが、基本的にSQLの構文に間違いがあるために発生する事が多いです。
SQLに構文的な間違いがどこかにあるはずなので、SQL文を先頭から丁寧に確認してみることをお勧めします。