Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso disparar um gatilho ANTES de uma exclusão no T-SQL 2005?


Você pode usar a opção INSTEAD OF, apenas exclua explicitamente as linhas no final. Por exemplo:
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

Isso assumiu uma chave primária composta pelas colunas PK_1 e PK_2.