DECLARE @IsDeleted AS BIT = 0;
SELECT @IsDeleted = IsDeleted from Updated
IF @IsDeleted=1
BEGIN
UPDATE Reviews
SET IsDeleted = @IsDeleted
WHERE CompanyID = 1
END;
如果Reviews
Company
列更新为1,我想更新IsDeleted
。
如何确定更新值是' 1 '
错误SELECT @IsDeleted = IsDeleted from Updated
答案 0 :(得分:4)
插入或删除触发器中可用的伪表,没有更新的表。
既然你说过t-sql,你应该明白在SQL服务器触发器中操作批处理而不是单行操作。需要完全重写此触发器以处理多个记录更新。不要在插入或删除的表中为触发器中的标量变量的值设置任何值。加入他们(当然,当你更新时,不要写一个更新语句而不排除当前值与新值匹配的任何记录。当只有2个更改时,更新一百万条记录愚蠢。性能至关重要ina触发器,因此更新不需要更新的东西更为重要。