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

2024年11月29日 07:45
有3个网友回答
网友(1):

假设有两张表,一张为操作记录表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

这个范例能在触发器的作用\方法\语法等方面描述触发器,希望这位同学能举一反三

网友(2):

格式如下
CREATE TRIGGER 触发器名称
ON 表1
FOR Update AS
BEGIN
INSERT 表2(……) VALUES (……)
END

网友(3):

create trigger 触发器名
on 表1
after update
AS
insert into 表2 values(.....)