• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >数据库其它 > 特殊的存储过程-触发器概述

特殊的存储过程-触发器概述

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了存储过程和触发器,触发器调用存储过程,sql存储过程 触发器,触发器中调用存储过程,存储过程和触发器实验等相关知识,希望本文的分享对您有所帮助
本节将介绍一种特殊的存储过程,即触发器。

一、触发器的概念
触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,SQL Server就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 

二、触发器的作用
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能: 

A.强化约束
触发器能够实现比CHECK 语句更为复杂的约束。 

B.跟踪变化
触发器可以侦测数据库内的操作从而不允许数据库中未经许可的指定更新和变化。 

C.级联运行
触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如:某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入),而该操作又导致该表上触发器被触发。 

D.存储过程的调用

为了响应数据库更新,触发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS本身之外进行操作。

由此可见,触发器可以解决高级形式的业务规则或复杂行为限制以及实现定制记录等一些方面的问题。例如,触发器能够找出某一表在数据修改前后状态发生的差异,并根据这种差异执行一定的处理。此外一个表的同一类型(INSERT、UPDATE、DELETE)的多个触发器能够对同一种数据操作采取多种不同的处理。

总体而言,触发器性能通常比较低。  

三、触发器的种类
SQL Server 2000支持两种类型的触发器:AFTER触发器和INSTEAD OF触发器。

AFTER触发器要求只有执行某一操作(INSERT、UPDATE、DELETE)之后,触发器才被触发,且只能在表上定义。可以为针对表的同一操作定义多个触发器。

INSTEAD OF触发器表示并不执行其所定义的操作(INSERT、UPDATE、DELETE),而仅是执行触发器本身。既可在表上定义INSTEAD OF触发器,也可以在视图上定义INSTEAD OF触发器,但对同一操作只能定义一个INSTEAD OF触发器。

注:在本实验中不讲INSTEAD OF触发器

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 特殊的存储过程-触发器概述

相关文章

  • 2017-05-11Access转SqlServer的注意事项
  • 2017-05-11Sql Server、Access数据排名的实现方法(例如:成绩排名)
  • 2017-05-11[转载]让SQL运行得更快
  • 2017-05-11SQL 查询语句积累
  • 2017-05-11详解SQLite中的查询规划器
  • 2017-05-11sql 中将日期中分秒化为零的语句
  • 2017-05-11也许是被忽略的update语句(update技巧)
  • 2017-05-11在CRUD操作中与业务无关的SQL字段赋值的方法
  • 2017-05-11执行Insert Exec时的隐藏开销 分析
  • 2017-05-11在PostgreSQL中使用数组时值得注意的一些地方

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 详细讲解PostgreSQL中的全文搜索的用法
    • 深入解析NoSQL数据库的分布式算法(图文详解)
    • 数据库面试知识点
    • sqlserver中drop、truncate和delete语句的用法
    • 数据库设计的折衷方法
    • sql注入之手工注入示例详解
    • 使用.pgpass密码文件,通过psql登录greenplum
    • Sql Server 和 Access 操作数据库结构Sql语句小结
    • sql 中将日期中分秒化为零的语句
    • 在Windows下自动备份PostgreSQL的教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有