读书人

请问一个触发器有关问题

发布时间: 2012-04-09 13:41:25 作者: rapoo

请教一个触发器问题
table1表中有两列date1和date2,分别表示合同交货期和内部交货期,想实现仅在新插入数据时date2=date1,其他条件下不触发,语句如下:
create Trigger trigg-name
On table1
for insert
As
begin
if exists(select 1 from inserted) and not exists(select 1 from deleted)
Update a
Set a.date2 =b.date1
From table1 a,inserted b
Where a.finterid=b.finterid
end

执行的结果是:不管是insert还是update,触发器均被触发,请问怎么修改?

[解决办法]

SQL code
create Trigger trigg-nameOn table1  for insert  As  if exists(select 1 from inserted) and not exists(select 1 from deleted)beginUpdate a Set a.date2 =b.date1 From table1 a,inserted bWhere a.finterid=b.finterid end--你的begin end位置放得有问题。应该是先判断什么操作,然执行对应的操作
[解决办法]
SQL code
create Trigger trigg-nameOn table1   for insert   As   beginUpdate a  Set a.date2 =b.date1  From table1 a,inserted bWhere a.finterid=b.finterid  end 

读书人网 >SQL Server

热点推荐