Oracle中数组的创建、赋值、遍历
一、创建
www.2cto.com
1、 语法:
Create Or Replace Type " TypeName " Is Varry(int) Of varryType(int);
TypeName: 数组名
Int: 数组最大长度
varryType(int): 数组里面存放的类型及长度
2、 实例,如下所示:
CREATE OR REPLACE TYPE "VARCHAR_ARRAY" IS VARRAY ( 9999 ) OF NVARCHAR2 ( 2 );
VARCHAR_ARRAY : 数组名
VARRAY ( 9999 ) : 数组的最大长度是 9999
NVARCHAR2 ( 2 ) : 数组里面存放的类型是 NVARCHAR2 类型, 每个字符串的最大长度是 2
www.2cto.com
二、存储过程中数组的赋值、遍历
Procedure testArray(Re_array out VARCHAR_ARRAY)
Is
Begin
Re_array := VARCHAR_ARRAY(); — 初始化数组
For i in 1 .. 10 Loop
— 给数组赋值
Re_array.extend; — 扩展数组, 以便于给数组赋值
oracle账号 Re_array(i) := i; — 赋值的时候,下标必须从 1 开始,否则会出现 “ 下标超出数量 ” 的错误
End Loop ;
— 遍历数组
For i in 1 .. Re_array.count Loop
dbms_output.put_line(i || ' : ' || Re_array(i));
End Loop ;
End ;