我正在研究我的SSIS项目。我已成功设法将一些csv加载到我的数据库中(通过VS中的Integration Services),现在我正在尝试在数据库中创建一个触发器。
我想要发生的是:当列second_road_class
的数量为-1时,我希望它变为6.我希望在插入过程中触发触发器。
我的触发器代码似乎在SSMS中调试好了!但是当我稍后再次尝试插入csv时,带有second_road_class
的{{1}}列保持原样。
触发码:
-1
感谢您的帮助。
答案 0 :(得分:1)
您可以使用after insert
触发器执行此操作。
create trigger accidentstrigger on [accidents]
after insert as
begin;
set nocount on;
if exists (select 1 from inserted where [second_road_class] = '-1')
begin;
update a
set [second_road_class] = '6'
from [accidents] as a
inner join inserted i
/* change AccidentId to the Primary Key on accidents*/
on a.AccidentId = i.AccidentId
and i.[second_road_class] = '-1';
end;
end;
go
在rextester上使用pilots
表的示例:http://rextester.com/XKX10184