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