Oracle では、次のようなテーブルを作成します。
CREATE TABLE "Mig1"( "ID" INTEGER NOT NULL 、制約「PK_Mig1」主キー ( "ID" ) )
次に、PK の名前を変更します。
ALTER TABLE "Mig1" RENAME CONSTRAINT "PK_Mig1" TO "PK_XXX"
次に、テーブルの名前を変更します。
ALTER TABLE "Mig1" RENAME TO "XXX"
次に、以前に名前を変更したテーブルの名前を使用する別のテーブルを作成しようとしました。
CREATE TABLE "Mig1"( "ID" INTEGER NOT NULL 、制約「PK_Mig1」主キー ( "ID" ) )
この時点で、次のようになりますAn error occurred: ORA-00955: name is already used by an existing object
。これは、名前が変更されたにもかかわらず、何らかの形で最初のテーブルの主キーがまだ残っているためです。次のように2番目のテーブルを作成しようとすると:
CREATE TABLE "Mig1"( "ID" INTEGER NOT NULL 、制約 "YYY" 主キー ( "ID" ) )
できます。では、その名前を再利用できるように、関連するすべてのリソースで主キーの名前を正しく変更するにはどうすればよいでしょうか?