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临时表取数据为变量赋值,然后执行其他相关表的更新或者其他操作