PL/SQL结构
IS
BEGIN
EXCEPTION
END;
块头
{ {PROCEDURE|FUNCTION} name IS| <<name>> }
声明部分
在此处声明块中使用的变量、游标、类型、本地过程和函数。
声明变量
变量:
variable_name type [NOT NULL] [:=initial_value]
常量:
constant_name CONSTANT type :=initial_value
数据库列类型变量:
variable_name [schema.] table_name.column_name%TYPE
已有变量类型变量:
variable_name variable1%TYPE
常用数据类型
String/Varchar2,Number,Boolean,Date
声明记录类型
TYPE type_name IS RECORD(
variable_name type [NOT NULL] [:=initial_value]
[,variable_name type [NOT NULL] [:=initial_value]...]
)
声明记录类型变量:
record_name type_name;
通过使用INTO语句,可是使记录类型的变量成为SELECT语句的目标。
记录类型变量引用字段:
record_name.variable_name
%ROWTYPE
record_name [schema.]table_name%ROWTYPE
通过%ROWTYPE可取代类型声明,直接将变量声明为记录类型变量。
索引表
类似于JavaScript 中的数组Array。
TYPE table_name IS TABLE OF
{type | variable%TYPE | [schema.]table_name%ROWTYPE}
INDEX BY BINARY_INTEGER
表类型声明的结果是具有两列的内存表:
KEY (总是 BINARY_INTEGER)
VALUE(在表声明中定义的类型)
声明索引表类型变量
variable_name table_name;
使用索引表类型变量
variable_name(key);
索引表方法
方法
|
返回值
|
描述
|
COUNT
|
NUMBER
|
返回表中的行数
|
DELETE
|
|
从表中删除所有行
|
DELETE(x)
|
|
从表中删除具有键x的行
|
DELETE(x,y)
|
|
删除表中有x~y之间的键的所有行
|
EXISTS(x)
|
BOOLEAN
|
返回表中是否具有键为x的行。
|
FIRST
|
BINARY_INTEGER
|
返回表中的最小的键值
|
LAST
|
BINARY_INTEGER
|
返回表中的最大的键值
|
NEXT(x)
|
BINARY_INTEGER
|
返回表中比提供的键要大的最小的行键
|
PRIOR(x)
|
BINARY_INTEGER
|
返回表中比提供的键要小的最小的行键
|
注:DELETE方法只可用于Oracle8或更高版本中,以前版本中没有可以删除行的方法。
可变数组
企业版独有
TYPE vartype_name IS {VARRAY | VARYING} (maxsize) OF data_type [NOT NULL]
示例:
DECLARE
--声明可变数组类型
TYPE num_array IS VARRAY (100) OF NUMBER ;
--声明数组变量
num1 num_array;
num2 num_array;
BEGIN
--调用构造方法
num1 := num_array();
num2 := num_array(1,2,3);
--每增加一个值都需先扩展数组
num1.extend;
num1(1) :=1; --与很多高级语言不同,其索引从1开始
num2.extend ;--扩展不可超出最大声明大小
num2(4):=4;
END;
可变数组方法
方法
|
返回值
|
描述
|
COUNT
|
INTEGER
|
返回数组中的条目数
|
DELETE
|
|
从数组删除所有条目
|
DELETE(x)
|
|
从数组删除索引为x的条目
|
DELETE(x,y)
|
|
删除数组索引在x~y之间的所有条目
|
EXISTS(x)
|
BOOLEAN
|
返回数组是否具有索引为x的条目
|
FIRST
|
INTEGER
|
返回数组的最小的索引值
|
LAST
|
INTEGER
|
返回数组的最大的索引值
|
NEXT(x)
|
INTEGER
|
返回数组比提供的索引要大的最小的索引
|
PRIOR(x)
|
INTEGER
|
返回数组比提供的索引要小的最小的索引
|
TRIM
|
|
删除具有最大索引值的条目
|
TRIM(x)
|
|
从数组尾部删除x(可为0)个条目
|
EXTEND
|
|
在数组中增加一个条目
|
EXTEND(x)
|
|
在数组中增加x个条目
|
EXTEND(x,y)
|
|
在数组中增加x个条目,值为索引y对应的条目值
|
LIMIT
|
INTEGER
|
返回数组最大声明大小
|
声明游标
CURSOR cursor_name IS
select_statement
[FOR UPDATE [OF column[,... ]] [NOWAIT]
使用请参见执行部分介绍。
声明异常
EXCEPTION
Exception_name EXCEPTION
PRAGMA EXCEPTION_INIT
PRAGMA EXCEPTION_INIT (exception_name,ora_number)
将异常处理与指定的Oracle错误号关联。
Oracle错误号通常是负数。如果想跟踪错误号ORA-02292,可使用-2292作为ora_number。
分享到:
相关推荐
PL/SQL Developer 7.0 最新手册 ------new!
PL/SQL Developer(pl/sql)是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。 <br>此版本包含注册文件和简体中文语言安装包 <br>Enhancements in PL/SQL Developer 7.1.5 ====================...
PL/SQL Developer(pl/sql 7.1.5)是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。 <br>此版本包含注册文件和简体中文语言安装包 <br>Enhancements in PL/SQL Developer 7.1.5 ==============...
最新pl/sql7.0中文手册
·第十二章 PL/SQL应用程序性能调优 2008-04-08 · 第十一章 本地动态SQL 2008-04-08 · 第十章 PL/SQL对象类型 2008-04-08 · 第九章 PL/SQL包 2008-04-08 · 第八章 PL/SQL子程序 2008-04-08 · 第...
pl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bitpl/sql-64bit
pl/sql例题代码pl/sql例题代码pl/sql例题代码
pl-sql-dev-8-setup PL/SQL developer 的安装文件 另外还有它的注册机 和 简体中文包 都在我的资源中 我的刚解决 所以免费贴出来和大家分享
PL/SQL 13.0 64位-亲测可用 ,PL/SQL 当前最新版本,官方正版
PL/SQL, Oracle's procedural extension of SQL, is an advanced fourth-generation programming language (4GL). It offers modern features such as data encapsulation, overloading, collection types, ...
PL/SQL DEVELOPER 714.1388 第2部分 共2部分 可以配合安装oracle精简客户端使用
pl/sql developer11.0下载 pl/sql developer11.0下载 pl/sql developer11.0下载
PL/SQL是Oracle对标准数据库语言的扩展,Oracle公司已经将PL/SQL整合到Oracle 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本教程将以循速渐进的方式讲述PL/SQL基础语法,结构和组件、以及...
Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发
PL/SQL DEVELOPER 714.1388 第一部分 共2部分 可以配合安装oracle精简客户端使用
《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...
如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要...
pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl/sql 下载pl...
PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加...
PL/SQL developer 12.07 注册码 可以使用,不错,自己用过了,分享给大家