Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je déclencher un déclencheur AVANT une suppression dans T-SQL 2005 ?

Vous pouvez utiliser l'option INSTEAD OF, supprimez simplement explicitement les lignes à la fin. Par exemple :

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

Cela supposait une clé primaire composée des colonnes PK_1 et PK_2.