Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich einen Trigger VOR einem Löschvorgang in T-SQL 2005 auslösen?

Sie können die Option INSTEAD OF verwenden, löschen Sie einfach explizit die Zeilen am Ende. Zum Beispiel:

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

Dies ging von einem Primärschlüssel aus den Spalten PK_1 und PK_2 aus.