CREATE TRIGGER [dbo].[UpdateUserRealNameTriger]
ON [dbo].[UserInfo]
for update
AS
BEGIN
if update(RealName)
begin
declare @uid int,@realName varchar(50)
select @uid=UserID,@realName=RealName from INSERTED
update Comment set RealName=@realName where UserID=@uid
end
END
创建触发器,基本语法如上。
关键点在于INSERTED和DELETED:这是两个临时表,每次更新,会把当前记录删除放入DELETED临时表,然后重新插入一条记录到INSERTED
CREATE TRIGGER [dbo].[UpdateUserRealNameTriger]
ON [dbo].[UserInfo]
for update
说明:创建一个名字叫UpdateUserRealNameTriger的触发器在UserInfo表上为update操作
if update(RealName)
说明:如果更新了某个字段(此处为RealName),则执行内部语句
declare @uid int,@realName varchar(50)
select @uid=UserID,@realName=RealName from INSERTED
update Comment set RealName=@realName where UserID=@uid
说明:定义变量,从INSERTED和DELETED临时表取数据为变量赋值,然后执行其他相关表的更新或者其他操作