Oracle PL/SQL
相关技术整理
作 者:
时 间:2009-9-23
(不断更新完善中)
目录
oracle游标的使用1 概述 3
2 PL/SQL常用开发技巧 3
2.1 异常处理和日志 3
2.2 使用动态SQL 5
2.3 使用动态CURSOR 7
2.4 Oracle 分析函数的使用 9
2.5 使用PL/SQL开发基于EBS的HTML格式的报表 10
2.6 使用PL/SQL输出XML格式的数据 11
3 注册步骤 16
3.1 注册Executable 17
3.2 注册Concurrent Program 17
3.3 分配Request Group 18
1 概述
PL/SQL是Oracle专有的SQL扩展语言,应用在Oracle数据库系统。PL/SQL 不是一个独立
的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,SQL语句执行者处理单个的SQL语句,PL/SQL引擎处理PL/SQL程序块。当PL/SQL程序块在PL/SQL引擎处理时,ORACLE服务器中的SQL语句执行器处理PL/SQL程序块中的SQL语句。PL/SQL具有高性能、易使用、无缝地与SQL结合,以及强壮性等多项优点。
Oracle 数据库11g的新特性下PL/SQL的高效使用:
✓ 复合触发器(compound trigger)
✓ 触发器中的按序执行
✓ Loop中CONTINUE的使用
✓ 创建无效触发器(Disabled Trigger)
✓ 在非DML语句中使用序列(sequence)
✓ 动态游标和 REF CURSOR 的可交换性
✓ PLSQL_Warning
✓ 只读表(read-only table)
2 PL/SQL常用开发技巧
2.1 异常处理和日志
由于设计的不足,编码的失误,硬件的错误或者其他的一些原因,程序在运行的过程中会出现一些错误,因此异常处理和日志就变得很重要。通过对一些特定异常的处理,可以提高程序的稳定性和可持续性。
PL/SQL通过EXCEPTION来处理异常,不需要专门为监控异常编写大量的代码。
使用PL/SQL内置的标准Exception
PL/SQL提前定义好了很多内置的Exception供大家使用,在STANDARD程序包中可以查到。下面用到的三个Exception是在编程过程中最经常使用的异常处理。
Begin
Select a,b
Into :variable
From table
Where xxxxxx;
Exception
when no_data_found then -- 获取‘没有到数据’这个错误
fnd_file.put_line(‘No_Data_Found Error!’);
when too_many_rows then -- 获取‘存在多行记录’这个错误
fnd_file.put_line(‘Too_Many_Rows Error!’);
when others then -- 获取前面没有监控的所有其他错误
fnd_file.put_line(‘Other Error!’);
End;
下图中是一些标准的exception以及它们对应的Oracle错误编码和SQLCODE得值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论