MS SQL 触发器

台湾佬为了防止乱更改数据,所以更改数据时要求把更改之前的的数据保存到另外一张表,也就是备份了,没有必要在项目中写,用触发器会简单很多

创建 MSSQL更改型触发器(mssql2008下):

create trigger UpdateSHInfo_bak 
on SHInfo
for update 
as
if update(S_LastUpdateTime) ---如果最后更新时间被更改了
begin
insert into SHInfo_bak (S_No,S_Name,S_Pwd,S_Sex,S_Birthday)  select d.S_No,d.S_Name,d.S_Pwd,d.S_Sex,d.S_Birthday  from Deleted d 
end

---------------2012-09-12新增------------------------

创建MSSQL增加性触发器(mssql2005下)

--- 创建触发器  当用户信息表UserInformation有新用户时自动给择偶条件表Conditions和ConditionsMeet表增加默认值
create trigger Tri_ConditionsDefault
on UserInformation
for insert
as
--定义变量
declare @UserID int,@err int;
select @UserID = UserId from inserted ---从inserted表中查找增加后的数据,因为Conditions表和Condition表除了UserID以外都给了默认值,所以这里只需要查找UserID
set @err = 0
begin tran
insert into Conditions (UserID) values(@UserID)
set @err = @err + @@error
insert into ConditionsMeet (UserID) values(@UserID)
set @err = @err + @@error
if(@err<>0)
begin
rollback tran
end
else
begin
 commit tran
end

转载于:https://www.cnblogs.com/New-world/archive/2012/05/31/2528156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值