oracle数据库教程课件
- 格式:ppt
- 大小:1.03 MB
- 文档页数:155


第十章 更多触发器概念
Oracle PL/SQL 编程 101 翻译:陈拓 chentuo@
2006 年 6 月16 日
Copyright © Oracle Corporation, 2001. All rights reserved. 更多触发器概念
进度表: 时间 主题
80 分钟 讲演
40 分钟 练习
120 分钟 总共
第十章 更多触发器概念
Oracle PL/SQL 编程 102
102 Copyright © Oracle Corporation, 2001. All rights reserved. 目标
完成本课程后, 您应当能够:
• 创建附加的数据库触发器
• 解释触发器管理规则
• 实现触发器
本课目标
在本课中,你将学习怎样创建更多地数据库触发器并学习规则触发器。
你还将学习许多应用程序触发器。
第十章 更多触发器概念
Oracle PL/SQL 编程 103
103 Copyright © Oracle Corporation, 2001. All rights reserved. 创建数据库触发器
• 触发用户事件:
– CREATE, ALTER 或 DROP
– Logging on 或 off
• 触发数据库或系统事件:
– Shutting down 或 starting up 数据库
– 一个指定的错误 (或任何错误) 出现
创建数据库触发器
在编码触发器体之前,确定触发器的组建。
在系统事件上的触发器可以被定义在数据库或方案级别。例如,一个数据库 shutdown 触发器
被定义在数据库级别。在数据定义语言 (DDL) 语句上的触发器,或一个用户登录登出,即可以被
定义为数据库级别也可以被定义为方案级别。
在 DML 语句上的触发器被定义在指定的表或一个视图上。
一个定义在数据库级别的触发器对所有用户触发, 一个定义在方案或表级别的触发器只有当触
海闻软件内部学习资料 替代触发器的应用
by 苏文涛
1 / 8
替代触发器的应用
组织人员权限批量导入实现步骤
1. 用户信息及机构-岗位信息收集模板
按平台组织人员权限管理需要,主要采集的信息:用户编码、姓名、邮箱、机构-岗位,
如下图是奇正项目收集的信息:
2. 用户-机构-岗位信息的数据库视图
定义一个“用户-机构-岗位”信息的数据库视图,其中用户基础信息(base_user)所需
的字段可按需增加。
参考DDL: CREATE OR
REPLACE VIEW V_USER_FRAME_ROLE AS
SELECT ER_CODE,
T1.FULL_NAME,
ER_SEX,
T1.E1_MAIL,
T3.DEPT_CODE,
T3.DEPT_NAME,
T2.ROLEID,
T4.ROLENAME
FROM BASE_USER T1, FRAMEDEPARTMENT T3, USER_ROLE T2
LEFT JOIN SYS_ROLES T4 ON T2.ROLEID = T4.ROLEID
WHERE ER_CODE = ER_CODE
AND T2.QYDJID = T3.DEPT_CODE;
数据示例: 海闻软件内部学习资料 替代触发器的应用
by 苏文涛
2 / 8
3. 创建触发器
在步骤2中的视图上创建触发器,类型为替代(instead of),主要用于通过dml往视图
insert、delet时,修改base_user、users、frameuser、user_role、user_dept的数据。
参考DDL: CREATE
OR REPLACE TRIGGER TR_USER_FRAME_ROLE
INSTEAD OF INSERT OR DELETE ON V_USER_FRAME_ROLE
FOR EACH ROW
Oracle University |Contact Us: 20 (0)2 35350254
Oracle Database 12c R2: New Features for Administrators Part 2 Ed 1
Duration:5 Days
What you will learn
Throughout the lessons of the Oracle Database 12c R2: New Features for Administrators Part 2 course constituted by
five modules; the Securing Data module, the Making Data Available module, the Partitioning Data module, the Managing
Information Lifecycle module and the Monitoring DB Operations and Managing Performance module, students receive a
good knowledge of the Oracle Database 12c Release 2 new and enhanced features in different areas of database
administration like Unified Auditing, Transparent Data Encryption (TDE) and other areas of security, Recovery Manager,
online operations, Oracle Data Pump, SQL*Loader, new partitioning methods, Automatic Data Optimization, In-Memory
第八章 操纵大对象
Oracle PL/SQL 编程 81 翻译:陈拓 chentuo@ 2006 年 6 月16 日 Copyright © Oracle Corporation, 2001. All rights reserved. 操纵大对象 进度表: 时间 主题 80 分钟 讲演 40 分钟 练习 120 分钟 总共第八章 操纵大对象
Oracle PL/SQL 编程 82 82 Copyright © Oracle Corporation, 2001. All rights reserved. 目标 完成本课程后, 您应当能够: • 比较和对比 LONG 和大对象 (LOB) 数据类型 • 创建并维护 LOB 数据类型 • 区分内部和外部大对象的区别 • 使用 DBMS_LOB PL/SQL 包 • 说明临时大对象的用途 本课目标 数据库有用于存储大对象的 LONG。可是,这种内建于数据库的机制不像在 Oracle8 中新 提供的大对象 (LOB) 数据类型那样好用。本课叙述这种新的数据类型的特性,并与早期的数据 类型进行比较。用例子介绍 LOB 类型的语法和使用。 注:LOB 是一种数据类型,不要与对象类型混淆。第八章 操纵大对象
Oracle PL/SQL 编程 83 83 Copyright © Oracle Corporation, 2001. All rights reserved. 什么是 LOB ? LOBs 用于存储大的非结构化的数据,例如:文本、图 象、电影和声音波形。 概览 一个LOB是一个用于存储象文本、图形图像、视频剪辑等等这样的大的、非结构化数据的 数据类型。结构化的数据象客户的记录可能只有几百个字节,但即使很是少量的多媒体数据可能 就会是几千倍之大。还有,多媒体数据可能驻留在操作系统文件上,这些文件需要从数据库中访 问。 有四种大对象数据类型: · BLOB 表示二进制大对象,例如一个视频剪辑。 · CLOB 表示一个字符大对象。 · NCLOB 表示一个多字节字符大对象。 · BFILE 表示一个存储在数据库外部的一个操作系统二进制文件。 BFILE 列或属性存储一 个指到外部文件的文件位置。 · LOBs 按特点分两类,按照它们的被 Oracle 服务器的解释 (二进制或字符) 和它们的存 储方式。LOBs 可以被存储在数据库内部或在主机文件中。有两类 LOBs: - 内部 LOBs (CLOB, NCLOB, BLOB) 被存储在数据库中。 - 外部文件 (BFILE) 被存储在数据库外部。 Oracle9i 服务器在 CLOB 和 VARCHAR2 数据类型之间实现隐式转换。其他的在 LOBs 之间的隐式转换是不允许的,例如,如果用户创建一个带有一个 CLOB 列的表 T,和一个带有 一个 BLOB 列的表 S,数据不能直接在这两个列之间传递。 BFILEs 只能以只读模式从一个 Oracle 服务器中被访问。第八章 操纵大对象