触发器中语句改判断方式
Quote: 引用:这个我估计是因为内部的子查询,返回了多余1条记录,导致的,就算是先判断,估计后面更新时,也还会报错。所以比如改为这样试试:create trigger dbo.trigger_purtb_inserton purtbfor insertas update purtbset 备注 = isnull((select top 1 t1.订单单别+'-'+t1.订单单号 from mocta t1 where (i.参考单别 = t1.工单单别 and i.参考单号 = t1.工单单号) or (i.参考单别 = t1.订单单别 and i.参考单号 = t1.订单单号) order by t1.订单单别 ), i.参考单别 +i.参考单号 )from inserted iwhere purtb.请购单号 = i.请购单号 and purtb.参考单号 = i.参考单号 go我刚才试了一下,可以解决前面出现的问题,感觉在前台增加数据时,程序变得不稳定的感觉,有时界面像是一晃就过了,还要深入应用一下,看看还有没有别的问题,不过现在我想问一下,为什么简单增加一个排序,就会好
这个我估计是因为内部的子查询,返回了多余1条记录,导致的,就算是先判断,估计后面更新时,也还会报错。所以比如改为这样试试:create trigger dbo.trigger_purtb_inserton purtbfor insertas update purtbset 备注 = isnull((select top 1 t1.订单单别+'-'+t1.订单单号 from mocta t1 where (i.参考单别 = t1.工单单别 and i.参考单号 = t1.工单单号) or (i.参考单别 = t1.订单单别 and i.参考单号 = t1.订单单号) order by t1.订单单别 ), i.参考单别 +i.参考单号 )from inserted iwhere purtb.请购单号 = i.请购单号 and purtb.参考单号 = i.参考单号 go
create trigger dbo.trigger_purtb_inserton purtbfor insertas update purtbset 备注 = isnull((select top 1 t1.订单单别+'-'+t1.订单单号 from mocta t1 where (i.参考单别 = t1.工单单别 and i.参考单号 = t1.工单单号) or (i.参考单别 = t1.订单单别 and i.参考单号 = t1.订单单号) order by t1.订单单别 ), i.参考单别 +i.参考单号 )from inserted iwhere purtb.请购单号 = i.请购单号 and purtb.参考单号 = i.参考单号 go