sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag aktivera en utlösare INNAN en radering i T-SQL 2005?

Du kan använda alternativet I STÄLLET FÖR, bara ta bort raderna i slutet. Till exempel:

CREATE TRIGGER dbo.My_Table_Delete_Instead_Of_Trigger
ON dbo.My_Table
INSTEAD OF DELETE
AS
BEGIN

     -- Do some stuff here

     DELETE T
     FROM DELETED D
     INNER JOIN dbo.My_Table T ON T.PK_1 = D.PK_1 AND T.PK_2 = D.PK_2
END

Detta förutsatte en primärnyckel som består av kolumnerna PK_1 och PK_2.



  1. Använd kolumnalias i samma val

  2. det bästa sättet att spåra dataändringar i Oracle

  3. Är NUMBER och NUMBER(*,0) samma i Oracle?

  4. Alternativ till ORDER BY RAND() på sammanfogade tabeller?