在上一篇博客中我们学习总结了存储过程,今天我们学习一种特殊的存储过程——触发器。顾名思义,触发器,就是通过某个事件一触发它就会执行。现在我们还从它的概述,实现和管理三个方面来总结。

一,概述:

1,概念:触发器是一种特殊类型的存储过程,它在插入,删除或修改特定表中的数据时触发执行。

通常可以执行一定的业务规则,以保持数据的完整性,检查数据的有效性,实现数据库

管理任务和一些附加的功能。看这张图,我们会更明白些!

2,优点:a,触发器自动执行;b,可以调用存储过程;c,可以强化数据条件的约束;d,可以禁止或回滚

违反引用完整性的更改;e,级联,并行运行;d,同表多触发器。

3,分类:a,DML(Data Manipulation Language,数据操纵语言)触发器,是在执行数据操作语言事件被

调用时触发的,其中insert,update和delete,alter等类型。

b,DLL(Dynamic Link Library,动态链接库)触发器,是由数据定义事件引起的,包括:create

,alter和drop语句。

二,实现触发器:

1,创建:a,MDL触发器

T-SQL语法:

create  trigger [schema_name.] trigger_name on{table|view}

[with   <dml_trigger_option>[,……n]]

{for |after |instead of } {[insert],[update],[delete]} [with append]

[not for replication] as  sql_statement[,……n]

语法说明:schema_name DML触发器所属架构的名称;Trigger_name  触发器的名称;

<dml_trigger_option>参数项,encryption和execute as选项;with append

指定应该再添加一个现有类型的触发器。Not for replication ,表示当触

及触发器时,不应执行触发器。

b,DLL触发器

T-SQL语法:

create trigger_name on {allserver|database}

[with   <dll_trigger_option>[,……n]]

{for|after} {event_type|event_group}[,……n]

as  sql_statement[,……n]

说明:all_server|database,DDL触发器响应的范围,当前服务器或当前数据库。

event_type|event_group,T-SQL语言事件的名称或事件组的名称。

2,查看:a,查看触发器的文本信息sp_helptext

b,查看触发器的相关性信息sp_depends

c,一般信息:sp_help

这里查看触发器和上篇博客中查看存储过程一模一样,因为它就是特殊的存储过程。

三,管理触发器

1,修改:这里修改两种触发器就是将创建它的语法中的create改成alter既可以。

2,删除:drop trigger

3,启用和禁用:alter table语句用于启用和禁用触发器

语法:alter table table {enable|disable}trigger,其中enable为启用,disable为禁用

4,使用嵌套触发器:利用sp_configure

语法:sp_configure [[@configname=]'name] [,[@configvalue=]'value']

说明:@configname:配置选项的名称。

@configvalue当为0时为禁止嵌套,1为允许嵌套

5,建立列级触发器:使用update来建立

语法:if update (colum1) and|or update(column2)]

6,递归触发器:自行调用自身为递归触发器。其中又分为直接递归和间接递归。

当然这些操作都可以通过MicrosoftSQL Server Management Studio来直接设置,他跟存储过程中很多东西相同,我们可以通过实践来学习很多。

触发器是数据库中比较高级的应用,灵活使用触发器可以大大增强应用程序的健壮性,数据库的可恢复性和数据库的可管理性。当然,只要我们能够灵活的运用,我们可以利用它实现一些复杂的功能,简化开发步骤,降低开发成本,增加开发效率,提高数据库的可靠性。

SQL Server——触发器相关推荐

  1. SQL Server 触发器学习总结

    SQL菜鸟入门级教程之触发器 触发器简介:   触发器(trigger)是种特殊的存储过程,它的执行不是由程序调用,也不需要手动操作,它是由事件来触发,事件大家应该非常熟悉吧,比如按钮的Click事件 ...

  2. SQL server触发器中 update insert delete 分别给写个例子被。

    SQL server触发器中 update insert delete 分别给写个例子以及解释下例子的作用和意思被, 万分感谢!!!! 主要想知道下各个语句的书写规范. INSERT: 表1 (ID, ...

  3. 了解SQL Server触发器及触发器中的事务

    引述 首先,写这篇文章的目的是望能把我对触发器的理解,分享出来与大家一起学习.如果你对触发器和事务的概念有些了解,这篇文章对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,以及触发器中事 ...

  4. 【转】了解SQL Server触发器及触发器中的事务

    引述 首先, 说下我写篇文章的目的,我希望能把我对触发器的理解,分享出来与你一起学习.如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事, ...

  5. SQL Server触发器创建、删除、修改、查看

    http://blog.csdn.net/tianwailaibin/article/details/8111766 本教程为大家介绍SQL Server触发器创建.删除.修改.查看方法. 一.触发器 ...

  6. mysql 触发器 sql server_喜忧参半的SQL Server触发器

    SQL Server触发器在非常有争议的主题.它们能以较低的成本提供便利,但经常被开发人员.DBA误用,导致性能瓶颈或维护性挑战. 本文简要回顾了触发器,并深入讨论了如何有效地使用触发器,以及何时触发 ...

  7. 15、SQL Server 触发器

    SQL Server 触发器 触发器是一种特殊的存储过程,只有当试图用数据操作语言DML来修改数据时才会触发,DML包含对视图和表的增.删.改. 触发器分为DML触发器和DDL触发器,其中DML触发器 ...

  8. sql 服务器实例怎样显示,SQL Server 触发器实例详解

    Microsoft SQL Server™ 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器.触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件 ...

  9. SQL server 触发器 instead of

    数据库SQL SERVER  触发器操作(部分) 使用instead of insert 在 课程表COURSE 中设置触发器,使老师张青的教授课程不超过3门 CREATE TRIGGER INSER ...

  10. sql server 触发器实时同步数据库表数据

    sql server 触发器实时同步数据库表数据 创建两个相同结构的数据库表 CREATE TABLE [dbo].[Table_1]([id] [varchar](50) NOT NULL,[nam ...

最新文章

  1. JavaScript 权威指南-学习笔记(一)
  2. PyTorch基础-猫狗分类实战-10
  3. iOS之深入解析对象isa的底层原理
  4. TensorFlow2-循环神经网络
  5. SpringSecurity自定义登陆页面和跳转页面
  6. python编写函数showmsg(n、name)_Python语言答案
  7. python3l下载_lunix 安装python3
  8. 小数第n位java_蓝桥杯【历届试题 小数第n位】 java版 数论
  9. 各种手机处理器排行榜_11月新机性能排行榜:荣耀V30第四,vivo S5上榜
  10. EXTASP.Net几天使用总结
  11. 阿里云:已有10000家企业在云上构建数据湖
  12. Boxy SVG for Mac(矢量图编辑器)
  13. rss对称网卡linux,dpdk-18.11网卡多队列RSS设置
  14. 程序员必学的职场人际关系22原则
  15. Windows10安装fiddler工具安装证书失败总结手机抓包总结
  16. mysql查询同名同姓重名人数,查全国同名同姓人数,姓名重名查询系统全国
  17. ajax鼠标悬停,mouseout后触发jQuery Ajax鼠标悬停事件
  18. vue h5分享微信节日头像合成”
  19. MySQL基础篇 | 连接查询、子查询(嵌套)
  20. dnf用计算机算比例,DNF比例计算查询

热门文章

  1. 易语言API hook 实现动态类名
  2. svn报错:浠ュ墠鐨勬搷浣滄病鏈夊畬鎴愶紱濡傛灉瀹冭涓柇锛岃鎵ц鈥渟vn cleanup鈥?
  3. redis的下载和安装详解
  4. 科技查新报告撰写规范有哪些?
  5. 讲给23岁以上的女生 || 讲给23岁以上的男生
  6. excel导入导出工具包 Qexcel
  7. C++ 同类不同对象的互相访问
  8. 多多客小程序 SaaS 平台发布 3.0.0-alpha.3
  9. 画论06 姚最《续画品》
  10. Python csv reader 跳过第一行表头