sql >> Base de Datos >  >> RDS >> Sqlserver

MS SQL ON DELETE CASCADE ¿múltiples claves externas que apuntan a la misma tabla?

Tendrá que implementar esto como un activador de eliminación EN LUGAR DE 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 eliminaciones en cascada y muchas claves externas, debe dedicar tiempo a elaborar un orden de "cascada" para que la eliminación que se produce en la parte superior de un "árbol" se transmita correctamente a las tablas de referencia. Pero eso no es posible en este caso.