ORA-00955

sqlplusでOracleにテーブル作成。
CreateTableのsqlファイル作って、複数のsqlファイルをスクリプトファイルでまとめて実行。
その時、全てのテーブルでORA-00955[すでに使用されているオブジェクト名です。]が発生。

ただ、DBを確認してみると正常にテーブルもPKも作成されているみたい。

結果、原因はすごく単純なことで、
sqlファイルに「;」を付けてクエリーを区切っていたのに、
sqlファイルを実行するスクリプトファイルの区切りに「/」を使用していたから。

コマンドになれていなかったので両方区切りだと認識していたのだけど、
/は一つ前にクエリが実行されていた場合、そのクエリを繰り返し実行するとのこと。

;なかった場合は区切りとして機能するけど、合った場合は繰り返してしまうので、表が作成された後にもう一度作成を施行するから「すでに使用されているオブジェクト」になった。

お粗末でした。

いいなと思ったら応援しよう!