El 2021-03-05 13:57, Romero, Fernando escribió:
-----Mensaje original-----
De: Gilberto [mailto:gilberto.casti...@etecsa.cu]
Enviado el: viernes, 5 de marzo de 2021 15:50
Para: Romero, Fernando <fernando.rom...@trenesargentinos.gob.ar>
CC: pgsql-es-ay...@postgresql.org
Asunto: Re: [MASSMAIL]Problemas con contraints
Importancia: Alta
Si puedes agregar todas las restricciones que deseas a las tablas con
Alter table, por otra parte trata de hacer Join de ambas tablas
buscando los registros que están en ambas, los separas en otra tablas
y luego aplicas DELETE usando una script con esos registros. Es lo que
se me ocurre de golpe.
Saludos,
Gilberto.
Gracias por tu respuesta, me exprese mal no decía de agregar una
restricción a la tabla decía de modificar la restricción (foreign key)
y agregarle "on delete cascade)
También puedes.
El 2021-03-05 13:38, Romero, Fernando escribió:
Hola como estan, estoy borrando registros de varias tablas pero tengo
problemas con las constraints, las base ya la herede asi, las tablas
no tienen la opción “on delete cascade”
Estoy borrando registros de la tabla A que tiene foreign key a la
tabla B, obviamente cuando comencé a borrar me tiro el error:
ERROR: update or delete on table "log_table1" violates foreign key
constraint "log_table1_sheet_item_id_51c1456e_fk_logtable_s" on table
"log_table2 "
DETAIL: Key (id)=(65833) is still referenced from table
"log_table2".
Borre los registros de la table log_table2 sin problemas y ahí
intente otra vez borrar los registros de la tabla 1 pero me sigue
dando el mismo error.
Se me esta pasando algo que no veo no entiendo en el error de arriba?
Si deshabilito las constraint borro y después vuelvo a habilitar me
va a quedar inconsistente no?
Y una vez que se creo la tabla sin la opción “on delete cascade”
se la puedo agregar?
Esta es la foreign key de la tabla 1
Foreign-key constraints:
"log_table1_failure_reason_id_2f8b7dbf_fk_logpack_f" FOREIGN KEY
(failure_reason_id) REFERENCES logtable_failurereason(id) DEFERRABLE
INITIALLY DEFERRED
"log_table1_order_id_bb37013a_fk_logpack_order_id" FOREIGN KEY
(order_id) REFERENCES logpack_order(id) DEFERRABLE INITIALLY DEFERRED
"log_table1_sheet_id_20425dde_fk_logpack_sheet_id" FOREIGN KEY
(sheet_id) REFERENCES logpack_sheet(id) DEFERRABLE INITIALLY DEFERRED
Referenced by:
TABLE "log_notification" CONSTRAINT
"logpack_notification_sheet_item_id_f35e2450_fk_logpack_s" FOREIGN KEY
(sheet_item_id) REFERENCES log_table1(id) DEFERRABLE INITIALLY
DEFERRED
TABLE "log_table2" CONSTRAINT
"logpack_sheetorderhi_sheet_item_id_51c1456e_fk_logpack_s" FOREIGN KEY
(sheet_item_id) REFERENCES log_table1(id) DEFERRABLE INITIALLY
DEFERRED
Saludos y desde ya gracias
“El contenido del presente mensaje (y sus anexos) es privado,
confidencial y de exclusivo uso para el destinatario referenciado; es
de público conocimiento que las comunicaciones por medio de Internet
no permiten asegurar ni garantizar la confidencialidad de los mensajes
transmitidos, así como tampoco su integridad o su correcta recepción;
es por ello que SOFSE no se responsabiliza de posibles perjuicios
derivados de la captura, incorporaciones de virus o cualquier otra
manipulación efectuada por terceros. Las opiniones expresadas en este
mensaje y en los archivos adjuntos son propias del remitente y no
representan la opinión o políticas de SOFSE, salvo que se diga
expresamente y el remitente se encuentre autorizado para ello”
“El contenido del presente mensaje (y sus anexos) es privado,
confidencial y de exclusivo uso para el destinatario referenciado; es
de público conocimiento que las comunicaciones por medio de Internet
no permiten asegurar ni garantizar la confidencialidad de los mensajes
transmitidos, así como tampoco su integridad o su correcta recepción;
es por ello que SOFSE no se responsabiliza de posibles perjuicios
derivados de la captura, incorporaciones de virus o cualquier otra
manipulación efectuada por terceros. Las opiniones expresadas en este
mensaje y en los archivos adjuntos son propias del remitente y no
representan la opinión o políticas de SOFSE, salvo que se diga
expresamente y el remitente se encuentre autorizado para ello”