sorry!赶去请客了,所以没把问题讲清楚。
操作发票的[已付金额]会自动更新客户的[已付金额]。
操作付款明细的[付款金额]会自动更新更新发票的[已付金额],但不会更新客户的[已付金额]。
我定义的是insert,update触发器。
想通过操作付款明细的[付款金额]一项自动更新发票和客户两张表的[已付金额]但不行,情况如上示!请明示小弟是咋个??,何故??
分数少吗?
操作发票的[已付金额]会自动更新客户的[已付金额]。
操作付款明细的[付款金额]会自动更新更新发票的[已付金额],但不会更新客户的[已付金额]。
我定义的是insert,update触发器。
想通过操作付款明细的[付款金额]一项自动更新发票和客户两张表的[已付金额]但不行,情况如上示!请明示小弟是咋个??,何故??
分数少吗?
create trigger trg1
on 发票
for update
as
update 客户
set 已付金额=select 已付金额 from inserted
where 客户.编号=deleted.购货单位编号create trigger trg2
on 付款明细
for update
as
update 客户
set 已付金额=select 付款金额 from inserted
where 客户.编号=deleted.编号update 发票
set 已付金额=select 付款金额 from inserted
where 发票.编号=deleted.编号
select是不能够触发触发器的。
create trigger tr
on 付款明细
for update
as
begin
begin transaction
update 客户
set 已付金额=select 付款金额 from inserted
where 客户.编号=deleted.编号update 发票
set 已付金额=select 付款金额 from inserted
where 发票.编号=deleted.编号
if @@error<>0
begin
rollback transaction --如果有错误那么直接回滚到触发这个触发器的语句前面,后面的批处理语句将终止
return
end
commit transaction
end