Oracle PL/SQL 示例代码


除非明确指出,否则此处示例代码未经 Oracle 认证且不受支持;该示例代码仅用于培训和测试目的。

您必须接受许可协议才能下载本示例代码。
接受许可协议 | 不接受许可协议
名称
创建/修改日期
说明
下载
闪回数据存档:历史记录导入脚本
2012-4-20

该示例代码允许用户将历史记录上载到闪回数据存档表中,将历史记录数据从其他源移至闪回数据存档中,以及将一个数据库中的历史记录移至另外一个数据库。

DBFS 示例存储
2012-4-19

表文件系统 (TBFS) 将简单的关系表(主键和 BLOB 列)公开为 DBFS 文件系统,将其与 dbfs_client 相结合,即可供文件系统工具访问。如果您正在构建插入 DBFS 框架的新自定义文件系统,这一 TBFS 示例代码也提供了有用的初始模板。工作原理:
 

TBFS 通过实现 DBFS 存储提供程序接口 (SPI) 插入 DBFS 中。TBFS 中的 SPI 方法能够生成一种简单、平面的命名空间,将表主键映射为 DBFS 路径名称,提供程序通过 DBFS 访问方法对 BLOB 列执行读取/写入访问。
 

可以对 TBFS 实现中采用的技术加以调整,轻松构建其他自定义文件系统。
 

请按照 TBFS 附带的 README.txt 中的说明操作。以 SYSDBA 身份运行时,顶级脚本 tbfs.sq 将创建和配置 TBFS。

PL/SQL 层级性能监测器演示 2011-10-24 这个存档中的代码用于创建多种 PL/SQL 程序,以及使用 PL/SQL 层级性能监测器记录各程序的执行。此外,该存档中还包含监测器针对每次运行的输出结果,表现为一组互相交叉引用的 HTML 文件。该存档中还包括描述这些示例的演示文稿中的幻灯片。 plsql-hierarchical-profiler.zip
完备的基于版本的重新定义操作 2011-10-24 此代码安装实现 Oracle Database 11g 第 2 版中“将一列拆分为两列”的基于版本的重新定义 (EBR) 操作,许多作者已经撰文介绍了这种操作。首先,本例照常安装应用程序。随后使应用程序为 EBR 做好准备。然后在执行应用程序升级的同时,运行来自其他会话的不间断的、并发完成的 DML,证实了这种操作的联机属性 ebr-openworld2011-demo.zip
DNA 示例 2010-02-22 本示例使用 Oracle Database 10g 中的正则表达式 API,分析接收自 SGD 数据库的原始 HTTP 流,仅从中提取 DNA 序列。此序列将本地存储在一个表中,并利用正则表达式函数进一步加以分析,识别某些酶模式。 regexpdnasample.zip
用户验证示例 2010-02-22 这个示例应用程序利用典型用户注册场景,使用 Oracle Database 10g 中实现的正则表达式函数验证用户输入。 regexpvalidate.zip
用户搜索示例 2010-02-22 本示例演示了 Oracle Database 10g 正则表达式 API 的使用,利用 TRIGGER、PROCEDURE、CURSOR 等验证、搜索和提取数据库中的信息。本示例以用户信息系统场景为例,运用多种模式搜索和提取数据库表中存储的用户信息,例如喜好和兴趣、位置信息等。 regexpusersearch.zip
FORALL 2010-02-22 Oracle Database 10g 引入了对 FORALL 语法以及集合中非连续索引的支持。INDICES OF 子句允许将 FORALL 语法与稀疏集合一起使用,同时将 VALUE OF 子句用于指向其他集合的索引集合。此示例显示了如何在 PL/SQL 应用程序中使用这些特性。 forallsample.zip
OWB SQL Developer 报告 2010-10-01 SQL Developer 报告主要提供与 OWB 运行时相关的信息,有一些简单的报告关注设计和数据质量,但报告大多集中在运行时、映射/流计时分析、审计详细信息等方面。 owb_sqldeveloper_reports.zip
多层集合 2010-04-11 存在两种模式级别的集合原型:VARRAY 和(嵌套)TABLE。两者都定义了一种指定类型的一维有序元素数组,可用于创建用户定义的模式级类型。 multilevel_collections.zip
表函数和游标表达式 2010-04-11 游标表达式(有时称为游标子查询)是 SQL 语言的一个要素,在 Oracle9i 之前,只有 SQL 和某些编程环境提供了相关支持,PL/SQL 未提供支持。Oracle9i 引入了 PL/SQL 对于游标表达式的支持。例如,可以在打开 PL/SQL 游标的 SELECT 语句中使用游标表达式,并在之后进行适当的控制。它也可以作为 PL/SQL 过程或函数的实际参数来使用,这与表函数结合具有非常大的意义。 table_functions_cursor_expressions.zip
批量绑定 2010-04-11 在 SQL 语句中为 PL/SQL 变量赋值称为绑定。一次性绑定整个集合称为批量绑定。批量绑定通过最小化 PL/SQL 和 SQL 引擎之间的上下文转接数量来改善性能。 bulk_binding_enhancements.zip
PL/SQL 中 CASE 语句的使用 2010-04-11 虽然 CASE 结构基本上没有给出任何新的语义,但它们的确接受一种更简洁的表示法,并且相对于 IF 结构表示法而言消除了一些重复。 case.zip
PL/SQL 静态 SQL 中的游标重用 2010-04-11 为了执行一条 SQL 语句,必须首先对该语句进行分析(检查语法和语义的正确性),还必须计算执行计划。所有这些都需要耗费计算资源。为了节约这些成本,Oracle 实例为之前遇到的 SQL 语句和得出的恰当信息维护系统级 LRU 缓存(即共享游标缓存),这一 LRU 缓存通过 v$sqlarea 公开,此后再提交需要分析的 SQL 语句时,即可检查与已缓存内容的匹配情况。(匹配标准的定义超出了本教程的范围。粗略地说,当前语句不仅必须与它的匹配对象保持内容上的一致性,其中包括空格和大/小写在内,而且绑定变量的类型也必须匹配。)在当前语句匹配的情况下,将重用存储的导出信息(分析树,执行计划等),从而节约了计算成本。 cursors.zip
Oracle9i Database 9.2.0 版中的 Utl_File 增强概述 2010-04-11 在 9.2.0 版推出之前,文件目录是通过 UTL_FILE_DIR 初始化参数表示的。这种方法的缺点是,要弹出实例来改变目录列表,这样就不存在安全的模式(所有用户都可以存取任意目录上的文件)。9.2.0 版提供了 Utl_File,允许采用与 BFILE 所用方法相同的机制(DIRECTORY 模式对象)。请务必注意,已确定将不再为 UTL_FILE_DIR 初始化参数提供支持。 utl_file1.zip
在 PL/SQL 程序中使用 SQL 的记录绑定 2010-04-11 PL/SQL RECORD 是与模式级别表中的行对应的数据类型。当通过编程的方式处理表中的行时,特别是读取一行(通过 SELECT、UPDATE...RETURNING 或 DELETE...RETURNING)操作,并通过编程处理,然后将其记录到相同形式的另一个表(通过 INSERT 或 UPDATE)中时,使用该结构很自然。 records.zip
Utl_File:Oracle9i Database 9.2.0 版中所引入增强功能的概述 2010-02-22 请参见 start.htm utl_file.zip
在 PL/SQL 程序中使用 SQL 的记录绑定 — Oracle 9.2 2010-02-22 请参见 start.htm records1.zip
关联数组(index-by-varchar2 表)— Oracle Database 9.2.0 中引入的 2010-02-22 多种,具体请参见 zip 文件 index_by_varchar2.zip
Oracle9i Database 第 1 版中的 Utl_Http 包 2010-04-11 Web 依赖于业务站点间通过公共互联网进行的自动通信。HTTP 传输机制用来发送请求和接收回复。尽管具有特定的 B2B 关系的合作伙伴可以从头定义他们的协议标准,但新兴的事实标准都是用 XML 来进行请求和答复的。当然我们可以期望在今后改进标准,使之扩展到覆盖 XML 编码的细节。Oracle9i Database 第 1 版中的技术允许发送方和接收方直接实现基于 Oracle 数据库的服务,而且仅需使用基于产品化 API 的 PL/SQL。 utl_http_package_enhancements9i.zip