[易飞]更新触发器(易飞工时底数 触发本阶人工 制费)

之前写触发的时候

直接FOR UPDATE

变量保存。。。

更新字段

其实可以这样 针对那个字段 做触发。

if update(字段)

begin

sql...

end

写了一个:

CREATE TRIGGER [UPDATE_CurrentLabour_fabricatingcost] ON [dbo].[INVMB]
FOR UPDATE
AS
declare @MB001 CHAR(20),
@MB096 decimal(7,4)


BEGIN TRANSACTION
SET NOCOUNT ON

if UPDATE(MB096)
BEGIN
SELECT @MB001=MB001,@MB096=MB096 FROM INSERTED WHERE MB025='M'
UPDATE INVMB SET MB061=@MB096*0.16,MB062=@MB096*0.16*0.7 WHERE MB001=@MB001
END

SET NOCOUNT OFF
COMMIT TRANSACTION

虽然只是简单的一改,但至少比较合理,效率也高了,尤其是修改比较频繁的情况下

[易飞]更新触发器(易飞工时底数 触发本阶人工 制费)铁观音-厂家直销

你可能感兴趣的:(触发器)