SAP B1的库存转储单里面不能自动存储volume的值,但是这个值在工作中是必须的,所以就想了个办法用触发器自动更新.
触发器语句如下:
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME = 'tr_wtr1')
DROP TRIGGER tr_wtr1
GO
create TRIGGER tr_wtr1
ON owtr
for insert
AS
update wtr1 set volume=a.quantity*b.svolume
from wtr1 a,oitm b
where a.itemcode=b.itemcode
说明:owtr是一个表单 wtr1是表单行信息 oitm是物料表 svolume是物料的体积 quantity是表单行的数量 volume是表单行的 体积 触发器的目的是当表单有插入时更新表单行里的体积 但是遇到一个问题 就是最后一张单子的体积没有更新 如果触发器改成
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME = 'tr_wtr1')
DROP TRIGGER tr_wtr1
GO
create TRIGGER tr_wtr1
ON wtr1
after insert
AS
update wtr1 set volume=a.quantity*b.svolume
from wtr1 a,oitm b
where a.itemcode=b.itemcode
这样系统提示无效的游标状态
请各位高手指点
------解决思路----------------------
是什么数据库?
第一个触发器,有些怪怪的,ON <表名> 跟后边的动作里边的表名没任何关系啊?