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!
1. **PL/SQL基础**:手册可能会从基础开始,介绍PL/SQL的基本结构,包括声明变量、常量、游标、记录类型等。还会讲解如何编写存储过程、函数和触发器。 2. **控制流程语句**:这包括条件判断(IF-THEN-ELSIF-ELSE)...
- **块结构**:PL/SQL代码由声明、执行和异常处理三部分组成,包括BEGIN...END块、DECLARE...BEGIN...END块以及匿名块。 - **变量和常量**:PL/SQL支持各种数据类型,如NUMBER、VARCHAR2、DATE等,以及声明变量和...
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/SQL Developer的一些基本知识点的阐述。 ### PL/SQL Developer简介 PL/SQL Developer是一款专为Oracle数据库...
PL/SQL Developer 11 中文手册 PL/SQL Developer 11 是一款功能强大的集成开发环境(IDE),用于开发、调试和维护 Oracle 数据库下的 PL/SQL 程序。本手册旨在帮助用户快速上手使用 PL/SQL Developer 11,掌握其...
PL/SQL的结构通常包括声明部分、执行部分和异常处理部分。声明部分用于定义变量、常量和游标;执行部分是程序的主要逻辑,包含SQL语句和PL/SQL语句;异常处理部分则用于捕获和处理运行时可能出现的错误。 在实际...
2. **数据处理**:通过PL/SQL,用户可以直接对数据库表进行增删改查操作,使用SELECT、INSERT、UPDATE、DELETE等SQL语句。 3. **游标**:PL/SQL支持游标,允许用户逐行处理查询结果,这对于处理大量数据时非常有用...
PL/SQL Developer是一款由Allround Automations公司开发的专门针对Oracle数据库进行开发、调试和管理的集成开发环境(IDE)。这个软件提供了强大的代码编辑、调试、数据库管理以及数据操作等功能,使得Oracle数据库...
- PL/SQL由声明部分(Declarations)、执行部分(Executable)和异常处理部分(Exception Handling)组成。 - 声明部分用于定义变量、常量、游标和子程序。 - 执行部分包含SQL语句和PL/SQL控制流语句,如IF、LOOP...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
1. **PL/SQL基础**:涵盖PL/SQL的基本语法,包括变量声明、常量定义、条件语句(IF-THEN-ELSIF-ELSE)、循环结构(WHILE, FOR)、异常处理(BEGIN-EXCEPTION-END)以及子程序(PROCEDURE和FUNCTION)的创建与调用。...
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 开发手册:Oracle 初学者的全面指南 #### 一、PL/SQL:Oracle 的核心编程语言 PL/SQL(Procedural Language for SQL)是Oracle数据库的标准编程语言,它结合了SQL的强大数据操作能力和过程化语言的控制...
- **块结构**:PL/SQL程序通常被组织成块,每个块由声明部分、执行部分和异常处理部分组成。 - **子程序**:包括存储过程和函数。这些子程序可以被其他PL/SQL代码调用,实现代码复用和模块化。 - **包**:包是一种...
- PL/SQL结构:了解块的概念,包括声明部分、执行部分和异常处理部分。 - 数据类型:熟悉PL/SQL内置的数据类型,如NUMBER、VARCHAR2、DATE等。 - 变量和常量:声明和使用变量,以及定义常量。 - 控制流程语句:...
1. **块结构**:PL/SQL程序的基本单元是块,包括声明部分、执行部分和异常处理部分。声明部分用于定义变量和常量,执行部分包含语句和控制结构,异常处理部分处理程序运行时可能出现的问题。 2. **变量和数据类型**...
Web PL/SQL报表制作过程是一种将数据库数据转化为用户友好、可编辑的HTML报表的方法,它结合了HTML语言和PL/SQL编程,使得开发者能够创建直观且实用的在线报表。以下是对这一过程的详细说明: 1. **制作报表模板**...
PL/SQL由声明部分(Declarations)、执行部分(Executable)和异常处理部分(Exception Handling)组成,支持变量、常量、过程、函数、游标等概念。 2. Oracle Instant Client:这是Oracle公司提供的一种精简版的...