-----------更新原不正确的数据-----------------------------------------------
select * from SEOrder
update se set se.FEntrySelfS0163=(ic.Flength*ic.FWidth/ic.F_101)/1000000,
se.FEntrySelfS0164=(ic.Flength*ic.FWidth*se.FQty/ic.F_101)/1000000
from SeOrderEntry se join SeOrder s on s.FInterID=se.FInterID
join t_icitem ic on ic.FItemID=se.FItemID
-----------------------------------------------------------------------------
--------珠海沃德面积触发器---------------------------------------------------
-----Flength 物料长度,FWidth物料宽度,F_101物料新增字段:单元
-----se.FEntrySelfS0163 单体单元面积、 se.FEntrySelfS0164单体总面积
create trigger mianjiOfSeOrder on SeOrder
for insert,update
as
begin
update se set se.FEntrySelfS0163=(ic.Flength*ic.FWidth/ic.F_101)/1000000,
se.FEntrySelfS0164=(ic.Flength*ic.FWidth*se.FQty/ic.F_101)/1000000
from SeOrderEntry se join SeOrder s on s.FInterID=se.FInterID
join t_icitem ic on ic.FItemID=se.FItemID
join inserted i on se.FInterID=i.fInterID
end
-----原来打算用单据自定义的公式来算面积的,但不知道是不是因为 添加的字段为:数字(不区分红、蓝字)。
-----这样在数据库的字段类型为String.
-----目前造成的情况是:有时单元面积和面积不会自动更新。
-----现添加一个触发器,来个双保险。希望不会出现不更新数据的现象
-----写触发器的时候记得应该写在SEOrder上面,如触发器写在SEOrderEntry上则无效。