我是靠谱客的博主 舒服紫菜,最近开发中收集的这篇文章主要介绍Oracle基础知识(六) - 触发器的分类:DDL触发器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 什么是DDL触发器

当执行DDL语句时会被触发。

2. 分类

按照作用范围,分为schema triggers,database triggers。schema triggers作用在一个用户上,database triggers作用在整个数据库所有用户上。

3. DDL事件

DDL事件                                                                                     触发时机

ALTER                                                        对数据库中的任何一个对象使用SQL的ALTER命令时触发

ANALYZE                                                    对数据库中的任何一个对象使用SQL的ANALYZE命令时触发

ASSOCIATE STATISTICS                            统计数据关联到数据库对象时触发

AUDIT                                                         通过SQL的AUDIT命令打开审计时触发

COMMENT                                                  对数据库对象做注释时触发

CREATE                                                     通过SQL的CREATE命令创建数据库对象时触发

DDL                                                            列表中所用的事件都会触发

DISASSOCIATE STATISTICS                      去掉统计数据和数据库对象的关联时触发

DROP                                                         通过SQL的DROP命令删除数据库对象时触发

GRANT                                                       通过SQL的GRANT命令赋权时触发

NOAUDIT                                                    通过SQL的NOAUDIT关闭审计时触发

RENAME                                                     通过SQL的RENAME命令对对象重命名时触发

REVOKE                                                     通过SQL的REVOKE语句撤销授权时触发

TRUNCATE                                                 通过SQL的TRUNCATE语句截断表时触发


4. DDL触发器事件以及属性函数

函数名返回值
ORA_CLIENT_IP_ADDRESS客户端IP地址
ORA_DATABASE_NAME数据库名称
ORA_DES_ENCRYPTED_PASSWORD当前用户的DES算法加密后的密码
ORA_DICT_OBJ_NAME触发DDL的数据库对象名称
ORA_DICT_OBJ_NAME_LIST受影响的对象数量和名称列表
ORA_DICT_OBJ_OWNER触发DDL的数据库对象属主
ORA_DICT_OBJ_OWNER_LIST受影响的对象数量和名称列表
ORA_DICT_OBJ_TYPE触发DDL的数据库对象类型
ORA_GRANTEE被授权人数量
ORA_INSTANCE_NUM数据库实例数量
ORA_IS_ALTER_COLUMN如果操作的参数column_name指定的列,返回true,否则false
ORA_IS_CREATING_NESTED_TABLE如果正在创建一个嵌套表则返回true,否则false
ORA_IS_DROP_COLUMN如果删除的参数column_name指定的列,返回true,否则false
ORA_LOGIN_USER触发器所在的用户名
ORA_PARTITION_POSSQL命令中可以正确添加分区子句位置
ORA_PRIVILEGE_LIST授予或者回收的权限的数量。
ORA_REVOKEE被回收者的数量
ORA_SQL_TXT触发了触发器的SQL语句的行数。
ORA_SYSEVENT导致DDL触发器被触发的时间
ORA_WITH_GRANT_OPTION如果授权带有grant选项,返回true。否则false


最后

以上就是舒服紫菜为你收集整理的Oracle基础知识(六) - 触发器的分类:DDL触发器的全部内容,希望文章能够帮你解决Oracle基础知识(六) - 触发器的分类:DDL触发器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部