今天在公司搞个单子,要求有一个老表点击产生的新表日期少两天。由于前台原程序没有代码
只能在后台触发器上实现。
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 也会执行,而没有数据变化,只做存盘操作时间也会少。