sql >> Databasteknik >  >> RDS >> Sqlserver

MS SQL PÅ DELETE CASCADE flera främmande nycklar som pekar på samma tabell?

Du måste implementera detta som en ISTADEN FÖR raderingsutlösare på insikter för att få det att fungera. Något i stil med:

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)

Ofta med kaskadraderingar och massor av främmande nycklar, måste du lägga tid på att utarbeta en "kaskad"-ordning så att borttagningen som sker längst upp i ett "träd" framgångsrikt kaskaderas till referenstabeller. Men det är inte möjligt i det här fallet.




  1. Hur du kontrollerar din SQL Server-version

  2. FROM_TZ() Funktion i Oracle

  3. PDO::PARAM för typ decimal?

  4. Hur man laddar JAR-fil i Oracle Database?