De: Daniel Palazzo [mailto:dpala...@gmail.com] Enviado el: viernes, 5 de marzo de 2021 16:11 Para: Romero, Fernando <fernando.rom...@trenesargentinos.gob.ar> CC: Gilberto <gilberto.casti...@etecsa.cu>; pgsql-es-ay...@postgresql.org Asunto: Re: [MASSMAIL]Problemas con contraints
Hola Fernando, por los nombres de las tablas infiero que son tablas de log, normalmente no se usan FK en tablas de log para economizar esfuerzo de la DB y la integridad referencial se mantiene en las tablas originales. Por otro lado, en lo personal los cascades en un modelo que no conoces profundamente me parecen mas peligrosos que la solucion que ofrecen... saludos! Daniel Daniel gracias por tu respuesta, tiene nombre log_algo pero no son tablas de log son tablas comunes con foreign key On Fri, 5 Mar 2021 at 15:57, Romero, Fernando < fernando.rom...@trenesargentinos.gob.ar<mailto:fernando.rom...@trenesargentinos.gob.ar> > wrote: -----Mensaje original----- De: Gilberto [mailto: gilberto.casti...@etecsa.cu<mailto:gilberto.casti...@etecsa.cu> ] Enviado el: viernes, 5 de marzo de 2021 15:50 Para: Romero, Fernando < fernando.rom...@trenesargentinos.gob.ar<mailto:fernando.rom...@trenesargentinos.gob.ar> > CC: pgsql-es-ay...@postgresql.org<mailto: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) 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” “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”