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

Jak zaktualizować wstawione pole w wyzwalaczu?

Potrzebujesz czegoś takiego:

CREATE TRIGGER [Add_LTD] on dbo.Company
AFTER INSERT AS
   UPDATE dbo.Company
   SET Name = Name + ' LTD'
   FROM Inserted i
   WHERE dbo.Company.CompanyID = i.CompanyID
     AND Name NOT LIKE '% LTD'

Musisz połączyć wiersze w Inserted do tabeli bazowej (aby zaktualizować tylko te wiersze, które zostały nowo wstawione), a najlepszym sposobem na to jest użycie klucza podstawowego (coś w rodzaju CompanyID ) aby to osiągnąć.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z kolumny TIME SQL Server 2008 w deklaracji klasy

  2. Zapytanie rekurencyjne SQL

  3. Wywołaj procedurę składowaną z php codeigniter

  4. Jak dodać klucz podstawowy autoincrement w serwerze sql za pomocą nvarchar?

  5. Czy konieczne jest enkapsulacja pojedynczej instrukcji scalania (z wstawianiem, usuwaniem i aktualizacją) w transakcji?