Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak mogę uruchomić wyzwalacz PRZED usunięciem w T-SQL 2005?

Możesz użyć opcji INSTEAD OF, po prostu jawnie usuń wiersze na końcu. Na przykład:

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

Założono klucz podstawowy złożony z kolumn PK_1 i PK_2.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić nazwę kolumny lub nazwę tabeli w SQL Server — samouczek SQL Server / T-SQL, część 36

  2. Jak przywrócić kopię zapasową pod inną nazwą

  3. Jak mogę uzyskać rekordy o wartości NULL z tabeli?

  4. Czy Scope_Identity() zwraca nieprawidłową wartość?

  5. Jak porównać ten sam DB pod kątem ich schematu i tabel?