触发器知识点 简要理解总结

首先需要对触发器概念理解:

​ 触发器(trigger)是SQL server 提供给程序员和数据析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。*
​ 触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。*

1.SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表

Inserted表存放由于执行Insert或Update语句,而要向表中插入的所有行。

Deleted表存放由于执行Delete或Update语句,而要从表中删除的所有行。

2.Instead of 和 After触发器

SQL Server2000提供了两种触发器:Instead of 和After 触发器。这两种触发器的差别在于他们被激活的时间。

Instead of触发器用于替代引起触发器执行的T-SQL语句。除表之外,Instead of 触发器也可以用于视图,用来扩展视图可以支持的更新操作。

After触发器在一个Insert,Update或Deleted语句之后执行,进行约束检查等动作都在After触发器被激活之前发生。After触发器只能用于表。

一个表或视图的每一个修改动作(insert,update和delete)都可以有一个instead of 触发器,一个表的每个修改动作都可以有多个After触发器。

3.使用T-SQL语句来创建触发器

基本语句如下:

create trigger trigger_name

on {table_name | view_name}

{for | After | Instead of }

[ insert, update,delete ]

as

sql_statement

4.删除触发器

基本语句如下:

drop trigger trigger_name

5.查看数据库中已有触发器

– 查看数据库已有触发器

use jxcSoftware

go

select * from sysobjects where xtype=‘TR’

– 查看单个触发器

exec sp_helptext ‘触发器名’

6.修改触发器

基本语句如下:

alter trigger trigger_name

on {table_name | view_name}

{for | After | Instead of }

[ insert, update,delete ]

as

sql_statement

猜你喜欢

转载自blog.csdn.net/qq_43254543/article/details/90522007