表a有两个字段mno bigint,mname varchar
表b有两个字段mno bigint,mname varchar
实现对表a更新时,表b也随着更新
我编写的触发器mno字段没有问题,但mname只能更新数字字符串并且表b的mname字段只能取得数字字符串的第一位数
例如: 如果表a的字段manme更新为981,则表b的相应字段mname中能更新为9
不知是啥原因
CREATE TRIGGER abUP on dbo.a
FOR UPDATe
AS
declare @omnoh bigint,@omnameh varchar
declare @nmnoh bigint , @nmnameh varchar
select @omnoh=deleted.mno,@omnameh=deleted.mname from deleted
select @nmnoh=inserted.mno,@nmnameh=inserted.mname from inserted
update b set b.mname=@nmnameh ,b.mno=@nmnoh where b.mno=@omnoh
表b有两个字段mno bigint,mname varchar
实现对表a更新时,表b也随着更新
我编写的触发器mno字段没有问题,但mname只能更新数字字符串并且表b的mname字段只能取得数字字符串的第一位数
例如: 如果表a的字段manme更新为981,则表b的相应字段mname中能更新为9
不知是啥原因
CREATE TRIGGER abUP on dbo.a
FOR UPDATe
AS
declare @omnoh bigint,@omnameh varchar
declare @nmnoh bigint , @nmnameh varchar
select @omnoh=deleted.mno,@omnameh=deleted.mname from deleted
select @nmnoh=inserted.mno,@nmnameh=inserted.mname from inserted
update b set b.mname=@nmnameh ,b.mno=@nmnoh where b.mno=@omnoh
CREATE TRIGGER abUP on dbo.a
FOR UPDATe
AS
declare @omnoh bigint,@omnameh varchar(50)
declare @nmnoh bigint , @nmnameh varchar(50)
select @omnoh=deleted.mno,@omnameh=deleted.mname from deleted
select @nmnoh=inserted.mno,@nmnameh=inserted.mname from inserted
update b set b.mname=@nmnameh ,b.mno=@nmnoh where b.mno=@omnoh
set @s1='abc'declare @s2 varchar(10)
set @s2='abc'select @s1 as s1,@s2 as s2/**
s1 s2
---- ----------
a abc(所影响的行数为 1 行)
**/
看了这个你就明白了