what update references primary foreign does delete constraint sql sql-server foreign-keys constraints cascading-deletes

update - ¿MS SQL "ON DELETE CASCADE" varias claves externas que apuntan a la misma tabla?



sql server add constraint foreign key cascade (1)

Tendrá que implementar esto como un desencadenante de eliminación INSTEAD OF en las perspectivas, para que funcione. Algo como:

create trigger T_Insights_D on Insights instead of delete as set nocount on delete from broader_insights_insights where insight_id in (select ID from deleted) or broader_insight_id in (select ID from deleted) delete from Insights where ID in (select ID from deleted)

Con frecuencia, con las eliminaciones en cascada y muchas claves externas, debe dedicar tiempo a elaborar una orden "en cascada" para que la eliminación que se produce en la parte superior de un "árbol" se conecte en cascada a las tablas de referencia. Pero eso no es posible en este caso.

Howdy, tengo un problema en el que necesito una cascada en varias claves externas que apuntan a la misma tabla ...

[Insights] | ID | Title | | 1 | Monty Python | | 2 | Spamalot | [BroaderInsights_Insights] | broaderinsight_id | insight_id | | 1 | 2 |

Básicamente, cuando se borra el registro uno o dos en la tabla de perspectivas, necesito que también se elimine la relación.

He intentado esto:

CREATE TABLE broader_insights_insights(id INT NOT NULL IDENTITY(1,1), broader_insight_id INT NOT NULL REFERENCES insights(id) ON DELETE CASCADE, insight_id INT NOT NULL REFERENCES insights(id) ON DELETE CASCADE, PRIMARY KEY(id)) Go

Esto da como resultado la advertencia de que la cascada "puede causar ciclos o múltiples rutas en cascada"

Así que he intentado agregar una cascada solo al insight_id y esto resulta en:

"La sentencia DELETE entró en conflicto con la restricción REFERENCE"

¿Algunas ideas?

Gracias

Daniel