Sql server 如何更新触发器中插入的字段

Sql server 如何更新触发器中插入的字段,sql-server,triggers,sql-server-2012,Sql Server,Triggers,Sql Server 2012,好的,我的情况是这样的: 我有一个名为Company的表,我想在我添加到此表中的每个记录之后添加一个触发器,检查列名是否以“LTD”结尾,然后在名称末尾添加“LTD” 在“')”附近出现错误,表示语法不正确。我该怎么做 Create Trigger [Add_LTD] on Company After Insert As Update Company Set Name = Name + ' LTD' If Exists (Select Name From Inserted Where Name

好的,我的情况是这样的:

我有一个名为Company的表,我想在我添加到此表中的每个记录之后添加一个触发器,检查列名是否以“LTD”结尾,然后在名称末尾添加“LTD”

在“')”附近出现错误,表示语法不正确。我该怎么做

Create Trigger [Add_LTD] on Company
After Insert As
Update Company
Set Name = Name + ' LTD'
If Exists (Select Name 
From Inserted
Where Name Not Like '% LTD')  

你需要这样的东西:

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'

您需要将
Inserted
中的行连接到基础表中(以便只更新新插入的行),最好的方法是使用主键(类似
CompanyID
)来实现这一点。

您使用的是哪种数据库服务器?我使用的是SQL server 2012