你这个是FOR触发器,在语句后面执行,inserted和ssss表中的数据已经是一样的了,你下面两句得到的结果都是修改后的值:
select @sname=name,@ssr=sr from inserted
select @ssr2=sr from ssss where name=@sname
改成:
1
2
3
4
5
6
7
8
9
10
11
12
13
create trigger cf_lz on ssss
for insert,update
as
declare @sname nvarchar(10),@ssr nvarchar(10),@ssr2 nvarchar(10)
select @sname=name,@ssr=sr from deleted
select @ssr2=sr from ssss where name=@sname
print len(@ssr)
print @ssr
if(len(@ssr2)>0 and len(@ssr)>0)
begin
print 1
rollback tran -- rollback tran
end