sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo actualizar el campo insertado en el disparador

Necesitarías algo como esto:

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'

Debe unir las filas en Inserted a su tabla subyacente (para actualizar solo aquellas filas que se han insertado recientemente), y la mejor manera de hacerlo es usar su clave principal (algo así como un CompanyID ) para lograr esto.