SQL触发器。当我一个数据库中的一个表更新一个信息,另个表插入一个条信息?怎么写

如题所述

假设有两张表,一张为操作记录表tbA(MyID,MyX,MyY),一张为账户余额表tbB(MyID,MySum)
MyID:int类型
MyX:money类型
MyY:int类型(-1取钱,1存钱)
MySum:money类型
我想在我记录存入多少钱的同时,在余额表里的MySum里的数据也更着改变,而我们也不需要对余额有任何操作
示例代码如下:
create trigger MyMoneyTrg
on tbA
for insert,update
as
declare @ID int,
@X money,
@Y int
begin
select @ID=MyID,@X=MyX,@Y=MyY from inserted
--这里从inserted表里取到了更新的必要数据,inserted表是更新的数据暂时存放的表,触发器执行结束这个表就消失了
update tbB set MySum=(@X*@Y+Mysum) where MyID=@ID
end

这个范例能在触发器的作用\方法\语法等方面描述触发器,希望这位同学能举一反三
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-18
格式如下
CREATE TRIGGER 触发器名称
ON 表1
FOR Update AS
BEGIN
INSERT 表2(……) VALUES (……)
END追问

这个不是更新吗? 我是说插入的嘛

追答

这个写法是表1更新的时候,就往表2插入新记录啊

第2个回答  2011-03-18
create trigger 触发器名
on 表1
after update
AS
insert into 表2 values(.....)
相似回答