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

Wstaw aktualizację wyzwalacza, jak określić, czy wstawiasz lub aktualizujesz

Wyzwalacze mają specjalne INSERTED i DELETED tabele do śledzenia danych „przed” i „po”. Możesz więc użyć czegoś takiego jak IF EXISTS (SELECT * FROM DELETED) aby wykryć aktualizację. Masz tylko wiersze w DELETED podczas aktualizacji, ale zawsze są wiersze w INSERTED .

Poszukaj „wstawione” w CREATE TRIGGER.

Edycja, 23 listopada 2011

Po komentarzu ta odpowiedź dotyczy tylko INSERTED i UPDATED wyzwalacze.
Oczywiście, wyzwalacze DELETE nie mogą mieć „zawsze wierszy w INSERTED " jak powiedziałem powyżej



  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 znaleźć znaki Unicode/nie-ASCII w polu NTEXT w tabeli programu SQL Server 2005?

  2. Zainstaluj Azure Data Studio na Ubuntu 18.04

  3. 11 najlepszych praktyk dotyczących indeksowania SQL Server w celu poprawy wydajności dostrajania

  4. Importuj „xml” do serwera SQL

  5. Zrozumienie instrukcji ALTER TABLE ADD COLUMN w programie SQL Server