sqlsever数据库中的触发器

inserted,deleted是在触发器中使用的两个临时表,当执行insert操作时,在inserted中存储着当前插入的记录,在执行delete操作时,在deleted中存储着当前删除的记录,当执行update时,在inserted中存储着修改后的记录,在deleted中存储着修改前的记录。

这是一个update时的触发器

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <guanjun>
-- Create date: <2016.7.5>
-- Description:    <Description,,>
-- =============================================
create trigger [dbo].[trig_update]
   on  [dbo].[Department]
   after update
as
begin
    declare @old_name varchar(200)
    declare @new_name varchar(200)
    if update ([Dname])
    select @old_name= Dname from deleted
    select @new_name= Dname from inserted
    update UserAccount set Department=@new_name where Department=@old_name

end

 

posted on 2016-07-05 21:29  Beserious  阅读(99)  评论(0编辑  收藏  举报