He revisado la documentación proporcionada por Oracle y encontré una forma de modificar una restricción sin soltar la tabla. El problema es que se equivoca al modificar ya que no reconoce la palabra clave.Intentando modificar una restricción en PostgreSQL
Usando EMS SQL Manager para PostgreSQL.
Alter table public.public_insurer_credit MODIFY CONSTRAINT public_insurer_credit_fk1
deferrable, initially deferred;
I fue capaz de trabajar alrededor de ella por dejar caer la restricción usando:
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;
¿Por qué está revisando la documentación de Oracle (y etiquetando esta pregunta con 'plsql') cuando usa PostgreSQL? ¿Cuál es el error exacto (qué palabra clave no se reconoce)? – Bruno
ERROR: error de sintaxis en o cerca de "Modificar" LINE 1: ALTER TABLE public.public_insurer_credit MODIFICAR CONSTRAINT p ... ^ (0.359 seg) – MISMajorDeveloperAnyways
Comprobación docs Oracle para Postgres, y luego culpar Postgres. Épico. –