Oracle 10g复合数据类型pl/sql集合学习六——索引表、嵌套表、变长数组
来源:互联网 发布:windows内核 编辑:程序博客网 时间:2024/05/21 03:54
--Oracle 10g复合数据类型pl/sql集合,集合又可以分为索引表、嵌套表、变长数组
--1、索引表(下标没有长度限制,且可以为负值)
--在9i前,定义索引表时,只能使用binary_integer和pls_integer作为下标的数据类型,
--但是在9i后,下标数据类型还可以使用varchar2
--3、变长数组(元素下标从1开始,且有最大值)
--注意:当使用varray元素时,必须要使用其构造方法初始化varray元素
--二维变长数组
显示二维数组所有元素:
variable_varray(1,1)=34
variable_varray(1,2)=23
variable_varray(1,3)=53
variable_varray(1,4)=34
variable_varray(2,1)=23
variable_varray(2,2)=67
variable_varray(2,3)=95
variable_varray(3,1)=9
variable_varray(3,2)=4
--多级嵌套表
显示二维嵌套表的所有元素:
nvl(1,1)=2
nvl(1,2)=4
nvl(2,1)=5
nvl(2,2)=73
--多级索引表
显示二维索引表的所有元素:
nvl(1,1)=10
nvl(1,2)=5
nvl(2,1)=100
nvl(2,2)=50
--1、索引表(下标没有长度限制,且可以为负值)
--在9i前,定义索引表时,只能使用binary_integer和pls_integer作为下标的数据类型,
--但是在9i后,下标数据类型还可以使用varchar2
declaretype area_table_type is table of numberindex by varchar2(10);area_table area_table_type;beginarea_table('北京'):=1;area_table('上海'):=1;area_table('广州'):=1;dbms_output.put_line('第一个元素:'||area_table.first);dbms_output.put_line('最后一个元素:'||area_table.last);dbms_output.put_line('第n个元素:'||area_table('北京'));end;
第一个元素:北京
最后一个元素:上海
第n个元素:1
--2、嵌套表(起始为1,没有长度限制)--注意:使用嵌套表变量时,必须使用其构造方法初始化declaretype community_type_name is table of communitytype.name%type;comtype_name community_type_name;begin--使用构造方法初始化comtype_name:=community_type_name('初始化值');dbms_output.put_line('赋值前:'||comtype_name(1));select name into comtype_name(1)from communitytypewhere community_type_id = 'ebook';dbms_output.put_line('赋值后:'||comtype_name(1));end;
赋值前:初始化值
赋值后:电子图书
--3、变长数组(元素下标从1开始,且有最大值)
--注意:当使用varray元素时,必须要使用其构造方法初始化varray元素
declare type ename_table_type is varray(20) of communitytype.name%type;ename_table ename_table_type:=ename_table_type('ebook');beginselect name into ename_table(1) from communitytypewhere community_type_id = 'ebook';dbms_output.put_line('资源库名称:'||ename_table(1));end;
资源库名称:电子图书
--二维变长数组
declare--一维数组type first_varray_type is varray(10) of int;--二维数组type second_varray_type is varray(10) of first_varray_type;--初始化variable_varray second_varray_type:=second_varray_type(first_varray_type(34,23,53,34), first_varray_type(23,67,95),first_varray_type(9,4));begindbms_output.put_line('显示二维数组所有元素:');for i in 1..variable_varray.count loopfor j in 1..variable_varray(i).count loopdbms_output.put_line('variable_varray('||i||','||j||')='||variable_varray(i)(j));end loop;end loop;end;
显示二维数组所有元素:
variable_varray(1,1)=34
variable_varray(1,2)=23
variable_varray(1,3)=53
variable_varray(1,4)=34
variable_varray(2,1)=23
variable_varray(2,2)=67
variable_varray(2,3)=95
variable_varray(3,1)=9
variable_varray(3,2)=4
--多级嵌套表
declaretype al_table_type is table of int;type nal_table_type is table of al_table_type;--初始化nvl nal_table_type:=nal_table_type(al_table_type(2,4),al_table_type(5,73));begindbms_output.put_line('显示二维嵌套表的所有元素:');for i in 1..nvl.count loopfor j in 1..nvl(i).count loopdbms_output.put_line('nvl('||i||','||j||')='||nvl(i)(j));end loop;end loop;end;
显示二维嵌套表的所有元素:
nvl(1,1)=2
nvl(1,2)=4
nvl(2,1)=5
nvl(2,2)=73
--多级索引表
declaretype al_table_type is table of intindex by binary_integer;type nal_table_type is table of al_table_typeindex by binary_integer;nvl nal_table_type;--初始化beginnvl(1)(1):=10;nvl(1)(2):=5;nvl(2)(1):=100;nvl(2)(2):=50;dbms_output.put_line('显示二维索引表的所有元素:');for i in 1..nvl.count loopfor j in 1..nvl(i).count loopdbms_output.put_line('nvl('||i||','||j||')='||nvl(i)(j));end loop;end loop;end;
显示二维索引表的所有元素:
nvl(1,1)=10
nvl(1,2)=5
nvl(2,1)=100
nvl(2,2)=50
0 0
- Oracle 10g复合数据类型pl/sql集合学习六——索引表、嵌套表、变长数组
- PL/SQL复合数据类型—record,集合(索引表,嵌套表,VARRAY)—之四
- PL/SQL 嵌套表变长数组和索引表[转]
- 集合(索引表,嵌套表,变长数组)
- oracle:变长数组varray,嵌套表,集合
- oracle复合数据类型学习五——pl/sql记录
- PL/SQL中使用嵌套表、变长数组(Varray)注意事项
- PL/SQL 11g R2 —— 复合数据类型应用
- Oracle三种集合数据类型(索引表,嵌套表,VARRAY 数组)的比较-PLSQL—之三
- Oracle三种集合数据类型(索引表,嵌套表,VARRAY 数组)的比较-PLSQL—之三
- Oracle三种集合数据类型(索引表,嵌套表,VARRAY 数组)的比较-PLSQL—之三
- pl/sql学习5——变长数组
- Oracle PL/SQL复合数据类型
- oracle 复合类型 (索引表,嵌套表,数组array)
- Oracle复合类型:嵌套表、可变数组与索引表
- 【Oracle】集合(联合数组(索引表),嵌套表,变长数组,记录类型的嵌套表)的初始化与赋值,以及它们的区别
- Oracle集合(联合数组(索引表),嵌套表,变长数组,记录类型的嵌套表)的初始化与赋值,以及它们的区别
- JAVA_WEB Oracle 10g学习:PL/SQL数据类型
- oracle复合数据类型学习五——pl/sql记录
- 玩具javascript:cookie管理
- Oracle 10g数据库闪回知识
- CentOS开启FTP及配置用户
- Oracle 10g数据库被锁记录的查询与解锁
- Oracle 10g复合数据类型pl/sql集合学习六——索引表、嵌套表、变长数组
- Oracle 10g数据库游标的使用学习一
- Oracle 10g使用游标更新或删除数据
- Oracle 10g如何对用户姓名,按首字母排序、查询
- qt下OpenCV编程例子笔记一
- POJ3069 Saruman's Army
- Oracle 10g处理例外(即sql异常)学习一——预定义例外,即常见例外
- Oracle 10g处理例外(即sql异常)学习二——自定义例外和非预定义例外
- PHP中spl_autoload_register函数的用法