您的位置:首页 > 数据库

SQL Server一个表添加数据,引发另一个表更新数据 的一个简单触发器例子

2011-09-05 08:55 597 查看
create trigger updateUserRoleToUserLogin
on tb_UserRole
for insert
as
begin
update tb_UserLogin set RoleID=t.RoleID
from tb_UserLogin t
end

以上代码的简单意思就是:

当tb_UserRole表中有数据插入时,级联更新tb_UserLogin表中的RoleID字段值为添加记录中RoleID的值。

案例二:

有这样一种情况,有两张表 t1 和t2,后来由于变更,t2表中需要增加一个字段,这个字段正是t1表中的字段值(ps:t1和t2之间有外间关联)

现在保持原先的插入语句不变,但在插入数据的同时,希望修改后的t2表中新增的字段能同步t1表中的值,怎么办呢?

--针对实时险情同步citycode表
create trigger tr_insert
on 实时险情
after insert
as
declare @id int,@name varchar(20),@code varchar(20)
begin
select @id=[OBJECTID],@code=[所属地区] from inserted;
select @name=[cityname] from citycode where citycode=@code;
update 实时险情 set [所在县]=@name where [OBJECTID]=@id;
end;

insert into 实时险情(上传时间,所属地区,所在县) values('2011-10-18','1001','');

select * from 实时险情;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql server