sql >> Database >  >> RDS >> Sqlserver

MS SQL OP DELETE CASCADE meerdere externe sleutels die naar dezelfde tabel verwijzen?

U moet dit implementeren als een IN PLAATS VAN verwijdertrigger op inzichten, om het te laten werken. Iets als:

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)

Vaak met trapsgewijze verwijderingen en veel externe sleutels, moet u tijd besteden aan het uitwerken van een "cascade"-volgorde, zodat de verwijdering die bovenaan een "boom" plaatsvindt, met succes wordt gecascadeerd naar referentietabellen. Maar dat is in dit geval niet mogelijk.




  1. Bepaal de rijgrootte voor de tabel

  2. Automatiseren Versienummer Ophalen uit .Dtsx-bestanden

  3. AlwaysOn-beschikbaarheidsgroepen configureren op SQL Server

  4. postgresql - tel (geen null-waarden) van elke kolom in een tabel