Tôi đã kiểm tra tài liệu do Oracle cung cấp và tìm cách sửa đổi ràng buộc mà không làm rơi bảng. Vấn đề là, nó bị lỗi khi sửa đổi vì nó không nhận ra từ khóa.Cố gắng sửa đổi một ràng buộc trong PostgreSQL
Sử dụng EMS SQL Manager cho PostgreSQL.
Alter table public.public_insurer_credit MODIFY CONSTRAINT public_insurer_credit_fk1
deferrable, initially deferred;
tôi đã có thể làm việc xung quanh nó bằng cách thả các hạn chế sử dụng:
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;
Tại sao bạn kiểm tra tài liệu Oracle (và gắn thẻ câu hỏi này với 'plsql') khi bạn đang sử dụng PostgreSQL? Lỗi chính xác (từ khóa nào không được công nhận)? – Bruno
LRI: lỗi cú pháp tại hoặc gần "MODIFY" LINE 1: Thay đổi bảng công cộng.public_insurer_credit MODIFY CONSTRAINT p ... ^ (0.359 giây) – MISMajorDeveloperAnyways
Kiểm tra tài liệu Oracle cho Postgres và đổ lỗi cho Postgres. Epic. –