请教一个SQL SERVER触发器的问题
CREATE TRIGGER tu_ecsb ON dbo.ecsb
FOR UPDATE
AS
begin
update ecndsb set ecndsb.bdzmc=inserted.bdzmc,ecndsb.yxbh=inserted.yxbh,ecndsb.sblx=inserted.sblx from ecndsb,inserted,deleted where ecndsb.bdzmc=deleted.bdzmc and ecndsb.yxbh=deleted.yxbh and ecndsb.sblx=deleted.sblx
end
当表ECSB更新SBLX字段时,比如说SBLX由“开关”改为“开关柜”,发现所有的开关均已改为开关柜,但是符合条件的所有记录的BDZMC,YXBH都被改成同一样的记录了,看不出哪里出了问题?请教!
BDZMC YXBH SBLX
张三 01 开关
李四 02 开关
王五 03 开关
我想改成
BDZMC YXBH SBLX
张三 01 开关柜
李四 02 开关柜
王五 03 开关柜
但是却发现成了
BDZMC YXBH SBLX
王五 03 开关柜
王五 03 开关柜
王五 03 开关柜
------解决方案--------------------CREATE TRIGGER tu_ecsb ON dbo.ecsb
FOR UPDATE
AS
begin
update ecndsb
set ecndsb.sblx=inserted.sblx
from ecndsb,inserted,deleted
where ecndsb.bdzmc=deleted.bdzmc
and ecndsb.yxbh=deleted.yxbh
and ecndsb.sblx=deleted.sblx
end
------解决方案--------------------楼上