小编Irr*_*nce的帖子

单个更新SQL语句的多行更新SQL触发器

好.我对SQL触发器很新,并且遇到了一些问题.插入触发器工作正常,还有删除触发器.首先,在多行上执行删除只会删除一行,但我设法为自己找出一个:)

然而,即使经过大量搜索(此处和谷歌),我也无法找到我所拥有的UPDATE触发器的满意答案.如果我像这样做更新

UPDATE Customers Set CustomerUser = 0 Where CustomerStatus = 3
Run Code Online (Sandbox Code Playgroud)

然后不幸的是,只有一条记录会被更新,而另一条记录将保持不变.显然,这不好.

我使用的触发器是:

ALTER TRIGGER [dbo].[TRG_TriggerName] ON [dbo].[USER_Customers]

FOR UPDATE

AS
declare @customerid int;
declare @customervenue int;
declare @customeruser int;
declare @customerarea int;
declare @customerevent int;
declare @customerproject int;
declare @customerstatus int;

select @customerid=i.CustomerID from inserted i;
select @customervenue=i.CustomerVenue from inserted i;
select @customerarea=i.CustomerArea from inserted  i;
select @customerevent=i.CustomerEvent from inserted i;
select @customerproject=i.CustomerProject from inserted i;
select @customeruser=i.CustomerUser from inserted i;
select @customerstatus=i.CustomerStatus from inserted i;

Update USER_Instances …
Run Code Online (Sandbox Code Playgroud)

sql sql-server triggers recordset

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

recordset ×1

sql ×1

sql-server ×1

triggers ×1