Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como atualizar o campo inserido no gatilho


Você precisaria de algo assim:
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'

Você precisa juntar as linhas em Inserted para sua tabela subjacente (para atualizar apenas as linhas que foram inseridas recentemente), e a melhor maneira de fazer isso é usar sua chave primária (algo como um CompanyID ) Para alcançar isto.