高分求教SQLSERVER触发器简单问题,解决就追分

来源:百度知道 编辑:UC知道 时间:2024/07/04 06:56:01
问题描述,有一张表test 现在要求在该表上创建一触发器,触发器要实现以下功能

当该表上的C1列中的任意一个数值发生UPDATE操作之后,将该数值自动+100后更新回去,其他行的C1值不受影响
沉默用户,先谢谢你,我这就去SS,先采纳了,好使了回来马上加分,困扰偶好长时间了,就是你说的那个意思,有唯一主键的这个意思,强

不是死循环。
首先得确保你的表中有唯一可以标识一行数据的列,否则存在两行各列完全相同的记录的时候就无法区分了,SQL SERVER没办法去处理这样的数据。

假设你的表有唯一标识一行数据的自增列id

create trigger 触发器名称
on 表
for update
as
if update(c1)
begin
declare @c1 int
declare @id int

select @c1=c1,@id=id
from deleted
update 表
set c1=@c1+100 --这是更新前的值+100,如果是更新后的值加100,那么@c1从inserted表取值
where id=@id
end

死循环?!