触发器_CoreBo的空间_百度空间
1、触发器的概念
所谓触发器(trigger)就是一系列SQL语句,当对数据库做修改(包括插入、删除和更新)时,它自动被系统执行。
2、要设置触发器机制,必须满足两个条件:
① 指明什么条件下触发器被执行,即触发条件;
② 指明触发器执行的动作是什么,即触发什么。
3、触发器的利弊
① 一方面能够保证数据库的一致性;
② 另一方面,检测和维护触发器需要很大的开销,降低了数据库增、删、改的效率!
4、举例
例如,当银行某客户的帐户透支时,请将其帐户余额设为0,并且建立一笔xx,其金额为透支额。规定这笔xx的xx号为透支帐户的帐户号。
define trigger overdraft on update of account T
(if new T.balance < 0 then (
insert into loan
values(T.branch-name, T.account-number, -new T.balance)
insert into borrower (select customer-name, account-number
from depositor
where depositor.account-number = T.account-number)
update account S set S.balance = 0
where S.account-number = T.account-number))
从广义上讲,约束实际上就是对数据库的一种限制,因此,可以把很多内容都看作是数据库的约束。例如,定义在一个关系上的约束可以有:
① 域约束
② DEFAULT(缺省值约束)
③ NOT NULL(非空值约束)
④ PRIMARY KEY(主码约束)
⑤ FOREIGN KEY(外码约束)
⑥ CHECK(check约束)
而定义在整个数据库上的约束可以有:
① 断言
② 触发器对约束来说,要注意以下两个问题:
⑴ 约束与系统性能的关系
⑵ 约束的一致性检查顺序
① 域约束
② DEFAULT
③ NOT NULL
④ CHECK
⑤ 对有FOREIGN KEY约束的参照表的检查
⑥ 对有FOREIGN KEY约束的被参照表的检查
⑦ PRIMARY KEY
⑧ 断言
⑨ 触发器


郑重声明:资讯 【触发器_CoreBo的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——