`

PL/SQL精简速查手册-声明部分

阅读更多

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 7.0 最新手册 ------new!

    PL/SQL Developer 6.05注册版-1

    PL/SQL Developer(pl/sql)是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。 &lt;br&gt;此版本包含注册文件和简体中文语言安装包 &lt;br&gt;Enhancements in PL/SQL Developer 7.1.5 ====================...

    PL/SQL Developer 7.1.5 注册版-3

    PL/SQL Developer(pl/sql 7.1.5)是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。 &lt;br&gt;此版本包含注册文件和简体中文语言安装包 &lt;br&gt;Enhancements in PL/SQL Developer 7.1.5 ==============...

    pl/sql最新中文手册

    最新pl/sql7.0中文手册

    PL-SQL用户指南与参考

    ·第十二章 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-64bit

    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例题代码pl/sql例题代码pl/sql例题代码

    pl-sql-dev-8-setup PL/SQL developer 8 的安装文件

    pl-sql-dev-8-setup PL/SQL developer 的安装文件 另外还有它的注册机 和 简体中文包 都在我的资源中 我的刚解决 所以免费贴出来和大家分享

    PL/SQL 13.0 64位-亲测可用

    PL/SQL 13.0 64位-亲测可用 ,PL/SQL 当前最新版本,官方正版

    PL/SQL User's Guide and Reference (官方CHM)

    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

    PL/SQL DEVELOPER 714.1388 第2部分 共2部分 可以配合安装oracle精简客户端使用

    pl/sql developer11.0

    pl/sql developer11.0下载 pl/sql developer11.0下载 pl/sql developer11.0下载

    Oracle PL/SQL语言初级教程

    PL/SQL是Oracle对标准数据库语言的扩展,Oracle公司已经将PL/SQL整合到Oracle 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本教程将以循速渐进的方式讲述PL/SQL基础语法,结构和组件、以及...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    PL/SQL DEVELOPER 714.1388-1

    PL/SQL DEVELOPER 714.1388 第一部分 共2部分 可以配合安装oracle精简客户端使用

    Oracle PL/SQL程序设计(第5版)(套装上下册)

    《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...

    PL/SQL Developer9.06

    如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要...

    pl/sql develpment 8 下载

    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免安装版

    PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加...

    PL/SQL developer 12.07 注册码 可以使用

    PL/SQL developer 12.07 注册码 可以使用,不错,自己用过了,分享给大家

Global site tag (gtag.js) - Google Analytics