oracle 集合 varray
来源:互联网 发布:网络话飞机场什么意思 编辑:程序博客网 时间:2024/05/17 01:47
1、创建语法
Create Or Replace varray_type_name Is Varray(size_limit) Of Element_type [Not Null];
varray_obj varray_type_name;注:下标从1开始,元素个数有限制 使用变长数组对象元素前,必须使用构造函数初始化
2、实例
Create Or Replace Type varray_type Is Varray(100) Of Varchar2(20) Not Null;
Declarevarray_obj varray_type;
n Number;
Begin
varray_obj:=varray_type('a','b','c');
If varray_obj.exists(1) Then
dbms_output.put_line('--从第1个元素开始输出');
n:=varray_obj.first;
Loop
dbms_output.put_line('下标:'||n||' 值:'||varray_obj(n));
Exit When n=varray_obj.last;
n:=varray_obj.next(n);
End Loop;
dbms_output.put_line('--从最后1个元素开始输出');
n:=varray_obj.last;
Loop
dbms_output.put_line('下标:'||n||' 值:'||varray_obj(n));
Exit When n=varray_obj.first;
n:=varray_obj.prior(n);
End Loop;
End If;
End;
输出:
--从第1个元素开始输出
下标:1 值:a
下标:2 值:b
下标:3 值:c
--从最后1个元素开始输出
下标:3 值:c
下标:2 值:b
下标:1 值:a
Create Table tmp_varray(Id Number ,phone varray_type);
Insert Into tmp_varray Values(1,varray_type('13100000001','13100000002','13100000003'));
Insert Into tmp_varray Values(2,varray_type('13200000001','13200000002','13200000003'));
Declare
varray_obj varray_type;
n Number;
Begin
Select phone Into varray_obj From tmp_varray Where Id=1;
If varray_obj.exists(1) Then
dbms_output.put_line('--从第1个元素开始输出');
n:=varray_obj.first;
Loop
dbms_output.put_line('下标:'||n||' 值:'||varray_obj(n));
Exit When n=varray_obj.last;
n:=varray_obj.next(n);
End Loop;
dbms_output.put_line('--从最后1个元素开始输出');
n:=varray_obj.last;
Loop
dbms_output.put_line('下标:'||n||' 值:'||varray_obj(n));
Exit When n=varray_obj.first;
n:=varray_obj.prior(n);
End Loop;
End If;
End;
输出:
--从第1个元素开始输出
下标:1 值:13100000001
下标:2 值:13100000002
下标:3 值:13100000003
--从最后1个元素开始输出
下标:3 值:13100000003
下标:2 值:13100000002
下标:1 值:13100000001
3、Exists():返回指定集合对象元素是否存在 true存在 false不存在
0 0
- oracle 集合 varray
- oracle:变长数组varray,嵌套表,集合
- ORACLE 集合(关联数组,嵌套表,VARRAY)
- oracle VARRAY数据类型
- oracle创建varray
- oracle 三种集合数据类型【varray,嵌套表,联合数组】+record
- ORACLE 中 VARRAY的用法
- Oracle三种集合数据类型(索引表,嵌套表,VARRAY 数组)的比较-PLSQL—之三
- Oracle三种集合数据类型(索引表,嵌套表,VARRAY 数组)的比较-PLSQL—之三
- Oracle三种集合数据类型(索引表,嵌套表,VARRAY 数组)的比较-PLSQL—之三
- Oracle 中VARRAY的 NOT NULL之惑
- ORACLE中RECORD、VARRAY、TABLE的使用详解
- ORACLE中RECORD、VARRAY、TABLE的使用详解
- ORACLE中RECORD、VARRAY、TABLE的使用详解
- ORACLE中RECORD、VARRAY、TABLE的使用详解
- ORACLE中RECORD、VARRAY、TABLE的使用详解
- ORACLE中RECORD、VARRAY、TABLE的使用详解
- 学习笔记:关于PL/SQL 集合类型record、pl/sql表、varray、nested table
- 课程设计
- 课程设计报告内容(源代码在另一个文章中)
- 每天一个Linux命令-1(grep)
- 如何压缩 Microsoft Virtual PC 2007 虚拟硬盘文件(.VHD文件)
- JAVA设计模式之外观模式(门面模式)
- oracle 集合 varray
- java基础之 IO系统
- Leetcode#24 Swap Nodes in Pairs
- 超实用的iOS面试题集合
- JAVA设计模式之桥接模式
- 关于Eclipse C++出现Launch failed,Binary not found问题的解决方案(Win7环境下)
- excel宏调用webservice使用存储过程同步excel数据的方法
- reveals her inspira
- Android 开机启动, service 自动运行。