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

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 实时险情;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值