create trigger ARMtrigger
on AccountReceivableMaster
after update
as
update AccountReceivableMaster
set UnAccountReceivable=isnull(AccountReceivableMaster.AccountReceivableAmount,0)-isnull(AccountReceivableMaster.DoAccountReceivableAmount,0)
from inserted,AccountReceivableMaster
where inserted.InvoiceNO=AccountReceivableMaster.InvoiceNO-----------为什么 这个UnAccountReceivable 老是不正确, 并且 只更新了DoAccountReceivableAmount 值 ,AccountReceivableAmount 自己就会变了。
请教。
on AccountReceivableMaster
after update
as
update AccountReceivableMaster
set UnAccountReceivable=isnull(AccountReceivableMaster.AccountReceivableAmount,0)-isnull(AccountReceivableMaster.DoAccountReceivableAmount,0)
from inserted,AccountReceivableMaster
where inserted.InvoiceNO=AccountReceivableMaster.InvoiceNO-----------为什么 这个UnAccountReceivable 老是不正确, 并且 只更新了DoAccountReceivableAmount 值 ,AccountReceivableAmount 自己就会变了。
请教。
on tableA
after update
as
update tableA
set lineB=lineA+lineC
from inserted,tableA
where inserted.InvoiceNO=tableA.InvoiceNO
这样的触发器 是个死循环 ?出不来的吗?
--试试
create trigger 名称 on 表
for insert,update
as
begin
...end
并且 只更新了DoAccountReceivableAmount 值 ,AccountReceivableAmount 自己就会变了。
你这个明明就是更新原表,当更改了一列后就将那两列相减得值,
更改了一列,那一列当然也更新,你确定你的InvoiceNO 不会被改变
on AccountReceivableMaster
after update
as
update AccountReceivableMaster
set UnAccountReceivable=
isnull(AccountReceivableAmount,0)-isnLL(DoAccountReceivableAmount,0) from inserted你就这样吧
我想把原表里的AccountReceivableAmount 减去 更新了的DoAccountReceivableAmount 值,去更新原表里的UnAccountReceivable值,现在是我只UPDATE AccountReceivableAmount , 但是最后 AccountReceivableAmount 也变了?
这是为什么?我只更新 AccountReceivableAmount ,不更新AccountReceivableAmount 值, 结果又是好的。
on AccountReceivableMaster
after update
as
update AccountReceivableMaster
set UnAccountReceivable=
isnull(AccountReceivableAmount,0)-isnULL(DoAccountReceivableAmount,0) from inserted where inserted.InvoiceNO=AccountReceivableMaster.InvoiceNO
我想把原表里的AccountReceivableAmount 减去 更新了的DoAccountReceivableAmount 值,去更新原表里的UnAccountReceivable值,
原表你不是用相减吗,你最后直接用减一次就行了
create trigger Atrigger
on tableA
for update
AS
begin
update tableB
set line1=inserted.lineA
end
触发器2:
create trigger Btrigger
on tableB
after update
as
begin
update tableB
set line3=line2-line1
where inserted.line4=tableB.line4
end lineA, line1,line2,line3,line4 都是Int现在UPDATE tableA set lineA=100
create trigger tri_g
on 表
for update
as
begin
update 系统_操作员 set... from inserted a
end