网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

2015下半年计算机四级数据库考试知识点:触发器

栏目: 计算机四级 / 发布于: / 人气:9.39K

  触发器基本概念

2015下半年计算机四级数据库考试知识点:触发器

1、 触发器是一种特殊的存储过程,其特殊性在于它不需要由用户来调用,而是当用户对表中的数据进行UPDATE、INSERT或DELETE操作时自动触发执行;

2、 触发器常用于下列场合:

(1) 完成比CHECK的约束更复杂的数据约束;

(2) 为保证数据库性能而维护的非规范化数据;

(3) 实现复杂的业务规则,可使业务的处理任务自动进行。

 创建触发器

1、 创建触发器的语句:CREATE TRIGGER,语法为:

CREATE TRIGGER 触发器名称

ON {表名| 视图名}

[WITH ENCRYPTION]

{FOR |AFTER|INSTEAD OF}{[INSERT][,][DELETE][,][UPDATE]}

AS

[{IF UPDATE(column)…}]

SQL语句

(1) 触发器名称在数据库中必须是惟一的;

(2) ON子句用于指定在其上执行触发器的表;

(3) AFTER:指定触发器只有在引发的SQL语句中指定的操作都已成功执行,并且所有的'约束检查也成功完成后,才执行此触发器,这种触发器称为后触发型触发器;

(4) FOR:作用同AFTER;

(5) INSTEAD OF:指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代触发语句的操作,这种触发器称为前触发型触发器;

(6) INSTERT、DELETE或UPDATE是引发触发器执行的操作,若同时指定多个操作,则各操作之间用逗号分隔;

2、 创建触发器时,需要注意:

(1) 在一个表上可以建立多个名称不同、类型各异的触发器,每个触发器可由三个操作引发;

(2) 大部分Transact-SQL语句都可用在触发器中,但也有一些限制;

(3) 在触发器定义中,可以使用IF UPDATE子句测试在INSERT和UPDATE语句中是否对指定字段有影响;

(4) 通常不要在触发器中返回任何结果。

3、 创建后触发型触发器

使用FOR或AFTER选项定义的触发器为后触发的触发器,即只有在引发触发器执行语句中指定的操作都已完成执行,并且所有的约束检查也成功完成后,才执行的触发器;

4、 创建前触发型触发器

使用INSTEAD OF 选项定义的触发器为前触发型触发器,在该触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代引发语句的操作。