SQL Server 触发器
- 欢迎来到此博客
- 触发器的概念
- SQL Server 有什么不同类型的触发器?
- 那么触发器有什么作用呢?
- 下面我们来学习怎么使用触发器吧
欢迎来到此博客
你好!
触发器的概念
触发器是一种特殊的存储过程,它被分配给某个特定的表。当对这个表进行插入、更新或删除操作时, 自动调用触发器执行触发器里规定的操作.
触发器是确保数据完整性和一致性的基本有效的方法。
SQL Server 有什么不同类型的触发器?
有INSTEAD-OF和AFTER两种触发器。例如,如果有一个用于TableA的INSTEAD-OF-UPDATE触发器,同时对这个表格执行更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是执行更新语句则不会执行操作。AFTER触发器要在DML语句在数据库里使用之后才执行。这些类型的触发器对于监视发生在数据库表格里的数据变化十分好用。
那么触发器有什么作用呢?
触发器是一个特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
下面我们来学习怎么使用触发器吧
创建触发器:
语法:
create trigger 触发器名
on 表名
for delete /insert /update
as
触发器要执行的操作
创建插入型触发器:
–在users表中定义触发器,当插入纪录时弹出消息:你已经向users表里插入了一条纪录!
create trigger t_users
on users
for insert
as
print ‘已向users表里插入了一条记录’
Go
创建Delete触发器:
–在users表中定义触发器,当删除纪录时弹出消息:你已经向users表里删除了一条纪录!
create trigger t_users
on users
for delete
as
print ‘你已经删除了此数据’
go
创建Updata触发器:
如果在xs表中更新数据,则在执行时显示提示信息。
create trigger tr_update
on users
for update
as
print ‘你已经更新了此数据!’
go
修改、删除触发器:
修改语法:
alter trigger 触发器名
on 表名
for delete /insert /update
as
触发器要执行的操作
删除语法:
drop trigger 触发器名
禁用、启用触发器:
禁用语法:
Alter table 表名
disable trigger 触发器名
启用语法:
Alter table 表名
enable trigger 触发器名
使用触发器时应考虑的因素:
首先检查约束。如果在触发器表上存在约束,则约束在 触发器执行前检查。如果违反约束,触发器就不执行。
对任何动作都可以有多个触发器。允许在一个表上嵌套几个触发器。一个表可以定义多个触发器。每个触发器可以为一个或几个动作定义