数据库题:更改部门信息时,员工表中id也随之改变实例演示

更改部门信息时,员工表中id也随之改变实例演示
这是源码
create trigger tri_a
on dbo.部门表
after update
as
if update(deptID)
begin
declare @new_id nchar(7)
declare @old_id nchar(7)
select @new_id= deptID from inserted
select @old_id= deptID from deleted
update 员工信息表 set deptID=@new_id where deptID=@old_id
end
测试:

update dbo.部门表 set deptID='38121320' where deptID='38121315'
改了之后只有部门表有反应,员工信息表没反应
什么问题,求求了,各位大佬

declare @new_id nchar (7)
declare @old_id nchar (7)
因为@new_id,@old_id只有7位长度,而更新语句中的值为8位的,会导致内容被去掉最后一位后数据不正确而无法更新。将上面的2句改为8位长度就没问题了
declare @new_id nchar (8)
declare @old_id nchar (8)

img

有帮助麻烦点下【采纳该答案】,谢谢~~

1.你在更新表的时候,只更新了部门表,没有更新员工表
2.update dbo.部门表,dbo.员工信息表 set deptID='38121320' where deptID='38121315'