今天在公司搞个单子,要求有一个老表点击产生的新表日期少两天。由于前台原程序没有代码
只能在后台触发器上实现。
CREATE trigger tf_pos_est on tf_pos
FOR insert
as
begin
IF Exists ( SELECT* FROM TF_POS A,INSERTED B WHERE A.OS_NO=B.OS_NO AND A.ITM=B.ITM AND
A.OS_ID='SO' AND ISNULL(A.EST_DD,' ')<>' ')
update tf_pos set est_dd=dateadd(dd,-2,b.est_dd) from TF_POS,inserted b
where tf_pos.os_no=b.os_no and tf_pos.itm=b.itm and tf_pos.os_id='SO' AND B.OS_ID='SO'
end
在前台界面上点击存盘时,时间就会少两天,每点一次就少两天,这个就奇怪了,我也没有插入数据,怎也会执行能,
换成 FOR UPDATE 整个就没有动静,由于本人是新手,感觉应该是条件上有问题,不知道是否给点提示。谢谢。
为什么没有INSERT 也会执行,而没有数据变化,只做存盘操作时间也会少。
只能在后台触发器上实现。
CREATE trigger tf_pos_est on tf_pos
FOR insert
as
begin
IF Exists ( SELECT* FROM TF_POS A,INSERTED B WHERE A.OS_NO=B.OS_NO AND A.ITM=B.ITM AND
A.OS_ID='SO' AND ISNULL(A.EST_DD,' ')<>' ')
update tf_pos set est_dd=dateadd(dd,-2,b.est_dd) from TF_POS,inserted b
where tf_pos.os_no=b.os_no and tf_pos.itm=b.itm and tf_pos.os_id='SO' AND B.OS_ID='SO'
end
在前台界面上点击存盘时,时间就会少两天,每点一次就少两天,这个就奇怪了,我也没有插入数据,怎也会执行能,
换成 FOR UPDATE 整个就没有动静,由于本人是新手,感觉应该是条件上有问题,不知道是否给点提示。谢谢。
为什么没有INSERT 也会执行,而没有数据变化,只做存盘操作时间也会少。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货