Oracleが提供するドキュメントをチェックして、テーブルを削除せずに制約を変更する方法を見つけました。問題は、キーワードを認識しないため、修正時にエラーが発生することです。PostgreSQLの制約を修正しようとしています
EMS SQLマネージャをPostgreSQL用に使用する。
Alter table public.public_insurer_credit MODIFY CONSTRAINT public_insurer_credit_fk1
deferrable, initially deferred;
私が使用して制約をドロップすることによって、それを回避することができました:
ALTER TABLE "public"."public_insurer_credit"
DROP CONSTRAINT "public_insurer_credit_fk1" RESTRICT;
ALTER TABLE "public"."public_insurer_credit"
ADD CONSTRAINT "public_insurer_credit_fk1" FOREIGN KEY ("branch_id", "order_id", "public_insurer_id")
REFERENCES "public"."order_public_insurer"("branch_id", "order_id", "public_insurer_id")
ON UPDATE CASCADE
ON DELETE NO ACTION
DEFERRABLE
INITIALLY DEFERRED;
なぜPostgreSQLを使用しているときに、Oracleのマニュアルをチェックしていますか(この質問に 'plsql'というタグを付けます)正確なエラーは何ですか(キーワードは認識されません)。 – Bruno
ERROR:構文エラーで、または近くに "MODIFY" LINE 1:ALTER TABLEのpublic.public_insurer_credit CONSTRAINT pを... MODIFY ^ (0.359秒) – MISMajorDeveloperAnyways
のPostgres用のOracleのドキュメントをチェックして、Postgresのを非難。エピック。 –