暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库-管理触发器

原创 zy 2022-12-05
951

DM是一个具有主动特征的数据库管理系统,其主动特征包括约束机制和触发器机制。约束机制主要用于对某些列进行有效性和完整性验证;触发器(TRIGGER)定义当某些与数据库有关的事件发生时,数据库应该采取的操作。通过触发器机制,用户可以定义、删除和修改触发器。DM自动管理和运行这些触发器,从而体现系统的主动性,方便用户使用。

触发器是一种特殊的存储过程,它在创建后就存储在数据库中。触发器的特殊性在于它是建立在某个具体的表或视图之上的,或者是建立在各种事件前后的,而且是自动激发执行的,如果用户在这个表上执行了某个DML操作(INSERT、DELETE、UPDATE),触发器就被激发执行。

触发器常用于自动完成一些数据库的维护工作。例如,触发器可以具有以下功能:

  1. 可以对表自动进行复杂的安全性、完整性检查;
  2. 可以在对表进行DML操作之前或者之后进行其它处理;
  3. 进行审计,可以对表上的操作进行跟踪;
  4. 实现不同节点间数据库的同步更新。

触发器与存储模块类似,都是在服务器上保存并执行的一段DMSQL程序语句。不同的是,存储模块必须被显式地调用执行,而触发器是在相关的事件发生时由服务器自动隐式地激发。触发器是激发它们的语句的一个组成部分,即直到一个语句激发的所有触发器执行完成之后该语句才结束,而其中任何一个触发器执行的失败都将导致该语句的失败,触发器所做的任何工作都属于激发该触发器的语句。

触发器为用户提供了一种自己扩展数据库功能的方法。可以使用触发器来扩充引用完整性,实施附加的安全性或增强可用的审计选项。关于触发器应用的例子有:

  1. 利用触发器实现表约束机制(如:PRIMARY KEY、FOREIGN KEY、CHECK等)无法实现的复杂的引用完整性;
  2. 利用触发器实现复杂的事务规则;
  3. 利用触发器维护复杂的缺省值;
  4. 利用触发器实现复杂的审计功能;
  5. 利用触发器防止非法的操作。

触发器是应用程序分割技术的一个基本组成部分,它将事务规则从应用程序的代码中移到数据库中,从而可确保加强这些事务规则并提高它们的性能。

DM提供了3种类型的触发器:

  1. 表级触发器:基于表中的数据进行触发;
  2. 事件触发器:基于特定系统事件进行触发;
  3. 时间触发器:基于时间而进行触发。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论