SQL触发器

翻看博客,发现居然没有触发器使用说明,现补上。

我们提供的服务有:成都网站设计、成都做网站、外贸网站建设、微信公众号开发、网站优化、网站认证、永和ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的永和网站制作公司

 

 触发器触发的时候两个特殊的表:

    插入表(instered表):Inserted表的数据是插入或是修改后的数据

    删除表(deleted表):deleted表的数据是更新前的或是删除的数据

这两张表的结构与被改触发器应用的表的结构相同,存储的数据是要进行操作的数据,当触发器完成工作后,这两张表就会被删除。

 

修改操作记录inserted表deleted表
增加(insert)记录存放新增的记录............
删除(deleted)记录..............存放被删除的记录
修改(update)记录存放更新后的记录存放更新前的记录

 

 

 

SQL触发器

Instead of 和 After触发器

 

Instead of触发器:用于替代引起触发器执行的T-SQL语句。除表之外,Instead of 触发器也可以用于视图,用来扩展视图可以支持的更新操作。
 After触发器:在一个Insert,Update或Deleted语句之后执行,进行约束检查等动作都在After触发器被激活之前发生。After触发器只能用于表。
 一个表或视图的每一个修改动作(insert,update和delete)都可以有一个instead of 触发器,一个表的每个修改动作都可以有多个After触发器。

 

触发器的添加,修改,删除,查看操作


1 添加创建语法

create trigger trigger_name
  on {table_name | view_name}
  {for | After | Instead of }
  [ insert, update,delete ]
  as
  sql_statement

2 修改语法

alter trigger trigger_name--类似于修改表结构

3 删除语法

drop trigger trigger_name

4 查看触发器

select * from sys.triggers
select * from sysobjects where xtype='TR'---- 查看单个触发器exec sp_helptext '触发器名'

 

触发器实例

--1 创建触发器,触发添加内容
Create TRIGGER [dbo].[s1]
ON [dbo].[A]
FOR insert 
as
    DECLARE @id VARCHAR(50)
    DECLARE @name varchar(50)
    DECLARE @nos INT 
    SELECT @id=[ID] ,@name=a.Name,@nos=a.number FROM a AS a
    INSERT INTO B(
        IC,
        CName,
        No
        -- AID -- this column value is auto-generated
        )
        VALUES(@id,@name,@nos)
    
---2删除内容,触发级联删除
Create trigger [dbo].[tri_deletemember]on [dbo].[Member]
for delete
as
    declare @ID VARCHAR(150)
    select  @ID=ID from deleted
    delete from MemCount where ID=@ID
    delete from MemMoney where @ID=@ID


网站标题:SQL触发器
网页路径:https://www.cdcxhl.com/article34/pgiipe.html

成都网站建设公司_创新互联,为您提供网站策划定制开发小程序开发ChatGPT手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站优化排名