Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment mettre à jour le champ inséré dans le déclencheur

Vous auriez besoin de quelque chose comme ceci :

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'

Vous devez joindre les lignes dans Inserted à votre table sous-jacente (afin de mettre à jour uniquement les lignes qui ont été nouvellement insérées), et la meilleure façon de le faire est d'utiliser votre clé primaire (quelque chose comme un CompanyID ) pour y parvenir.