版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Version 3.0第九章第九章 在上一章中,我们讨论了:在上一章中,我们讨论了: 子程序子程序 程序包程序包 本章将讨论:本章将讨论: 数据库触发器数据库触发器 内置程序包内置程序包 数据库触发器数据库触发器 是是 PL/SQL 块或存储过程块或存储过程 是在对关联表执行是在对关联表执行 DML 操作时触发的操作时触发的 是隐式执行的是隐式执行的 还可能具有声明部分和异常处理部分还可能具有声明部分和异常处理部分 触发器的组成部分触发器的组成部分 触发器语句触发器语句 触发器主体触发器主体 触发器限制触发器限制 触发器语句触发器语句 指定触发器定时、事件、表名及类型指定触发器定时、事件、表名
2、及类型 触发器主体触发器主体 是是 PL/SQL 块或对过程的调用块或对过程的调用 触发器限制触发器限制 可以通过可以通过 WHEN 子句实现子句实现 触发器的类型触发器的类型 应用程序触发器应用程序触发器 数据库触发器数据库触发器 应用程序触发器应用程序触发器 在应用程序内发生特定在应用程序内发生特定 DML 事件时,将隐式事件时,将隐式触发它触发它 数据库触发器数据库触发器 在表、视图或数据库上发生特定在表、视图或数据库上发生特定 DML 事件时,事件时,将隐式触发它将隐式触发它 在表和视图上定义在表和视图上定义 在数据库或方案上,它也可以充当系统在数据库或方案上,它也可以充当系统触发器触
3、发器 DML 触发器组件触发器组件 触发器定时触发器定时 触发器事件触发器事件 表名表名 触发器类型触发器类型 WHEN 子句子句 触发器主体触发器主体 变异表变异表 当前正由当前正由 DML 语句修改语句修改 声明删除级联(引用完整性约束条件)的影声明删除级联(引用完整性约束条件)的影响响 约束表约束表 对于对于 SQL 语句,触发语句直接读取语句,触发语句直接读取 对于声明的引用完整性约束条件,间接读取对于声明的引用完整性约束条件,间接读取 表的变异或约束只是对会话而言的表的变异或约束只是对会话而言的 INSTEAD OF 触发器触发器 是在视图上而不是在表上定义的是在视图上而不是在表上定
4、义的 提供修改视图的透明方法提供修改视图的透明方法 可以针对视图编写可以针对视图编写 INSERT、UPDATE 及及 DELETE 语句语句 它以不可见方式在后台运行它以不可见方式在后台运行 执行在触发器主体中编写的操作执行在触发器主体中编写的操作 嵌套表上的嵌套表上的 INSTEAD OF 触发器触发器 不能使用不能使用 TABLE 子句直接修改视图中的嵌套列子句直接修改视图中的嵌套列 通过通过 INSTEAD OF 触发器进行修改触发器进行修改 嵌套表上的触发器因嵌套表上的触发器因 DML 操作而触发操作而触发 启用和禁用触发器启用和禁用触发器 语法如下:语法如下:alter trigg
5、er enable;alter trigger enable;alter trigger disable;alter trigger disable; 其中,其中,Trigger_nameTrigger_name 是触发器名称。是触发器名称。 删除触发器删除触发器 使用以下语法:使用以下语法:drop trigger ;drop trigger ;其中,其中,trigger_nametrigger_name 是触发器名称。是触发器名称。 查看有关触发器的信息查看有关触发器的信息 使用下列数据字典视图:使用下列数据字典视图:USER_TRIGGERSALL_TRIGGERSDBA_TRIGGER
6、S 扩展数据库的功能扩展数据库的功能 为为 PL/SQL 提供对提供对 SQL 功能的访问功能的访问 用户用户 SYS 拥有所有程序包拥有所有程序包 是公共同义词是公共同义词 可以由任何用户访问可以由任何用户访问 用户必须具有用户必须具有 EXECUTE 权限,才能访问权限,才能访问过程和函数过程和函数 其中的一些内置程序包如下:其中的一些内置程序包如下: DBMS_STANDARD 提供语言工具提供语言工具 DBMS_ALERT 支持数据库事件的异步通知支持数据库事件的异步通知 DBMS_OUTPUT 允许显示输出结果允许显示输出结果 如果禁用它,则忽略对此程序包的调用如果禁用它,则忽略对此
7、程序包的调用 DBMS_LOB 添加用于处理大型对象的实用过程和函数添加用于处理大型对象的实用过程和函数 DBMS_OUTPUT 中的一些过程中的一些过程 Enable Disable Put Put_line New_line Get_line Get_lines DBMS_LOB append compare copy erase fileclose fileexists filegetname getlength Oracle9i 中新增程序包的部分列表中新增程序包的部分列表程序包名称程序包名称 描述描述 DBMS_AQELM提供过程管理 Advanced Queuing 异步通知的配置
8、(通过电子邮件和 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 程序包捕获并发布的更改数据。
9、 DBMS_METADATA从字典检索完整的数据库对象定义(元数据)。 DBMS_ODCI根据用户函数的所用时间返回此函数的 CPU 成本。 数据库触发器是数据库触发器是 PL/SQL 块或存储过程块或存储过程 是在对关联表执行是在对关联表执行 DML 操作时触发的操作时触发的 数据库触发器的三个组成部分是:数据库触发器的三个组成部分是: 触发器语句触发器语句 触发器主体触发器主体 触发器限制触发器限制 触发器的类型有:应用程序触发器和数触发器的类型有:应用程序触发器和数据库触发器据库触发器 变异表是当前正由变异表是当前正由 DML 语句修改的表语句修改的表 约束表是触发语句为约束表是触发语句为 SQL 语句直接读取语句直接读取的表的表 触发触发 INSTEAD OF 触发器,而不是触发器,而不是 update、insert 或或 delete 语句语句 可以启用、禁用或删除触发器可以启用、禁用或删除触发器 Oracle 提供了许多内置程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届广东省广州市华南师大附中七年级数学第一学期期末考试试题含解析
- 2027届亳州市重点中学数学八年级第一学期期末统考试题含解析
- 湖北襄阳五中学实验中学2027届数学七年级第一学期期末联考模拟试题含解析
- 2027届河南省洛阳孟津县联考数学八年级第一学期期末统考试题含解析
- 2027届浙江省乐清市虹桥镇第六中学数学八上期末统考模拟试题含解析
- 2026事业单位工勤技能-新疆-新疆计算机操作员一级(高级技师)历年参考题库含答案详解
- 2026事业单位工勤技能-新疆-新疆无损探伤工一级(高级技师)历年参考题库含答案详解
- 2026事业单位工勤技能-新疆-新疆公路养护工五级(初级工)历年参考题库含答案详解
- 2026年残疾司机驾照模拟考试卷(含答案)
- 2026年车间劳保用品使用管理安全试题库(含答案)
- 事业单位财会岗招聘笔试高频考题试卷及解析
- 2026年《中国病毒性心肌炎诊疗临床指南(2026版)》
- 山东省名校联盟2027届高三上学期开学全域学情综合诊断语文试卷(含答案)
- 《化工企业设备检修作业安全规范》(AQ 3026-2026)解读化危为安
- 新背景下的2027年高考语文一轮备考策略
- ASTM D5276-23 中文版(运输包装件自由跌落测试标准 完整原文 + 不同重量跌落高度对照表)
- 事业编计算机岗2026易错题试卷及解析
- 2026 年世界标准日标准化知识科普课件
- 2026年危重患者抢救制度培训课件
- 2026年广东省中考化学试卷(含答案)
- 2025-2026学年高一化学上学期第一次月考01(人教版必修第一册)A4版
评论
0/150
提交评论