Oracle培训教程9

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Version3.0数据库触发器和内置程序包第九章2回顾•在上一章中,我们讨论了:–子程序–程序包3目标•本章将讨论:–数据库触发器–内置程序包4数据库触发器10-1•数据库触发器–是PL/SQL块或存储过程–是在对关联表执行DML操作时触发的–是隐式执行的–还可能具有声明部分和异常处理部分5数据库触发器10-2•触发器的组成部分–触发器语句–触发器主体–触发器限制6数据库触发器10-3•触发器语句–指定触发器定时、事件、表名及类型•触发器主体–是PL/SQL块或对过程的调用•触发器限制–可以通过WHEN子句实现7数据库触发器10-4•触发器的类型–应用程序触发器–数据库触发器8数据库触发器10-5•应用程序触发器–在应用程序内发生特定DML事件时,将隐式触发它•数据库触发器–在表、视图或数据库上发生特定DML事件时,将隐式触发它–在表和视图上定义–在数据库或方案上,它也可以充当系统触发器9数据库触发器10-6•DML触发器组件–触发器定时–触发器事件–表名–触发器类型–WHEN子句–触发器主体10数据库触发器10-7•变异表–当前正由DML语句修改–声明删除级联(引用完整性约束条件)的影响•约束表–对于SQL语句,触发语句直接读取–对于声明的引用完整性约束条件,间接读取•表的变异或约束只是对会话而言的11•INSTEADOF触发器–是在视图上而不是在表上定义的–提供修改视图的透明方法–可以针对视图编写INSERT、UPDATE及DELETE语句–它以不可见方式在后台运行–执行在触发器主体中编写的操作数据库触发器10-812•嵌套表上的INSTEADOF触发器–不能使用TABLE子句直接修改视图中的嵌套列–通过INSTEADOF触发器进行修改–嵌套表上的触发器因DML操作而触发•启用和禁用触发器–语法如下:altertriggerTrigger_nameenable;altertriggerTrigger_namedisable;其中,Trigger_name是触发器名称。数据库触发器10-913•删除触发器–使用以下语法:droptriggertrigger_name;其中,trigger_name是触发器名称。•查看有关触发器的信息–使用下列数据字典视图:USER_TRIGGERSALL_TRIGGERSDBA_TRIGGERS数据库触发器10-1014•扩展数据库的功能•为PL/SQL提供对SQL功能的访问•用户SYS拥有所有程序包•是公共同义词•可以由任何用户访问•用户必须具有EXECUTE权限,才能访问过程和函数内置程序包6-115•其中的一些内置程序包如下:内置程序包6-216•DBMS_STANDARD–提供语言工具•DBMS_ALERT–支持数据库事件的异步通知•DBMS_OUTPUT–允许显示输出结果–如果禁用它,则忽略对此程序包的调用•DBMS_LOB–添加用于处理大型对象的实用过程和函数内置程序包6-317•DBMS_OUTPUT中的一些过程–Enable–Disable–Put–Put_line–New_line–Get_line–Get_lines内置程序包6-418•DBMS_LOB–append–compare–copy–erase–fileclose–fileexists–filegetname–getlength内置程序包6-519•Oracle9i中新增程序包的部分列表内置程序包6-6程序包名称描述DBMS_AQELM提供过程管理AdvancedQueuing异步通知的配置(通过电子邮件和HTTP)。DBMS_FGA提供细粒度安全函数。DBMS_FLASHBACK可以闪回到指定时间的数据库版本。DBMS_LDAP提供从LDAP服务器访问数据的函数和过程。DBMS_LibCache通过从远程实例提取SQL和PL/SQL并在本地编译此SQL(但不执行),在Oracle实例上准备库高速缓存。DBMS_LOGMNR_CDC_PUBLISH准备捕获并发布一个或多个Oracle关系源表中的数据。DBMS_LOGMNR_CDC_SUBSCRIBE查看和查询使用DBMS_LOGMNR_CDC_PUBLISH程序包捕获并发布的更改数据。DBMS_METADATA从字典检索完整的数据库对象定义(元数据)。DBMS_ODCI根据用户函数的所用时间返回此函数的CPU成本。20•数据库触发器是PL/SQL块或存储过程•是在对关联表执行DML操作时触发的•数据库触发器的三个组成部分是:–触发器语句–触发器主体–触发器限制总结3-121•触发器的类型有:应用程序触发器和数据库触发器•变异表是当前正由DML语句修改的表•约束表是触发语句为SQL语句直接读取的表•触发INSTEADOF触发器,而不是update、insert或delete语句•可以启用、禁用或删除触发器总结3-222•Oracle提供了许多内置程序包,它们用于–扩展数据库的功能–允许访问SQL功能,这些功能在PL/SQL中通常是受到限制的•用户必须具有程序包的EXECUTE权限,才能调用过程和函数总结3-3

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功