DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第4部分:触发器
2010-02-18 15:01:13 来源:WEB开发网创建触发器所需的权限
使用触发器的模式 ID 必须拥有以下权限之一:
对定义 BEFORE或AFTER触发器的表拥有ALTER 权限
对定义 INSTEAD OF触发器的视图拥有CONTROL 权限
对定义 INSTEAD OF触发器的视图拥有所有权
对定义触发器的表或视图的模式拥有ALTERIN 权限
SYSADM或DBADM 授权
以及以下任意一种权限:
IMPLICIT_SCHEMA数据库授权(如果触发器的隐式或显式模式名称不存在)
对模式的CREATEIN 权限(如果触发器的模式名称引用现有的模式)
假定授权 ID 没有SYSADM和DBADM 权限并且触发器存在,此 ID 必须拥有以下所有权限:
对定义触发器的表拥有SELECT 权限 — 用于转换变量和/或表
对在触发的操作条件中引用的任意表或视图的SELECT 权限
调用触发的指定 SQL语句所需的权限
注:拥有仅创建触发器的SYSADM 权限的ID 也被显式授予 DBADM 权限。
创建触发器语句
如果创建者拥有所需的权限集,则可以使用SQL 动态创建触发器,也可以嵌入到应用程序中。有关 CREATE TRIGGER 授权的详细信息,请参阅 DB2 9.5 Linux, UNIX, and Windows Information Center中有关 “Create Trigger”语句的内容。清单 1将向您展示用于创建触发器的基本语法:
清单 1. CREATE TRIGGER语句的一般语法图.-NO CASCADE-.
>>-CREATE TRIGGER--trigger-name--+-+------------+--BEFORE-+----->
+-AFTER------------------+
'-INSTEAD OF-------------'
>--+-INSERT--------------------------+--ON--+-table-name-+------>
+-DELETE--------------------------+ '-view-name--'
'-UPDATE--+---------------------+-'
| .-,-----------. |
| V | |
'-OF----column-name-+-'
>--+------------------------------------------------------------------+-->
| .-------------------------------------------------. |
| V (1) (2) .-AS-. | |
'-REFERENCING------------------+-OLD--+----+--correlation-name-+-+-'
| .-AS-. |
+-NEW--+----+--correlation-name-+
| .-AS-. |
+-OLD TABLE--+----+--identifier-+
| .-AS-. |
'-NEW TABLE--+----+--identifier-'
>--+-FOR EACH ROW--------------+--| triggered-action |--------->
| (3) |
'--------FOR EACH STATEMENT-'
triggered-action
|--+-------------------------------------+---------------------->
| (4) |
'--------WHEN--(--search-condition--)-'
为了理解 清单 1中的语法图,让我们创建几个演示 CREATE TRIGGER语句的基本语法的简单触发器。触发器有三个主要组件:
触发器事件
触发器条件
触发器操作
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接