Leg*_*dat 3 sql-server triggers sql-server-2012
好的,我的情况是这样的:
我有一个名为Company的表,我希望在我在此表中添加的每个记录之后添加一个触发器,检查列Name是否以'LTD'结尾,然后在Name的末尾添加'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')
Run Code Online (Sandbox Code Playgroud)
mar*_*c_s 12
你需要这样的东西:
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'
Run Code Online (Sandbox Code Playgroud)
您需要将行连接Inserted到基础表(为了更新那些新插入的行),最好的方法是使用主键(类似于a CompanyID)来实现这一点.
| 归档时间: |
|
| 查看次数: |
28309 次 |
| 最近记录: |