4.oracle嵌套表
嵌套表和前面索引表相类似,有些较小的差别(嵌套表的下标是从1开始的)
declare
type sal_table is table of emp.sal%type; -----定义一个嵌套表类型 这里没有index by
v_sal_table sal_table;
begin
v_sal_table:=sal_table(1,3,5,6,2,24,2345,234,6567); ----初始化所定义的sal_table类型的变量(嵌套表的变量必须被初始化,否则报错);
dbms_output.put_line(v_sal_table(1)); [b] -----这里的下标从1开始[/b]
end;
5.嵌套表的使用
---创建一个嵌套表类型,当然这个表类型可以使多列的,在这里就用单列的进行演示了
create type booklist is table of varchar( 20 );---这个在执行后,oracle中就会生成一种类型
---建立一个表
create table bookClass
(
id varchar (20 ),
name varchar (20 ),
v_booklist booklist ---类型为前面创建的嵌套表类型
) nested table v_booklist store as booklist_tab;
--对嵌套表列进行指定, booklist_tab这个可以为任意一个名字,这个名字就是嵌套表的名字
---插入一条记录
insert into bookclass values( '2' ,'美术类' ,booklist( '素描', '油彩' ,'计算机作图' ))
----遍历显示嵌套表中的记录
declare
booklist_tab booklist;
begin
select v_booklist into booklist_tab from bookclass where rownum =1 ;
for i in booklist_tab.first..booklist_tab.last loop
dbms_output.put_line(booklist_tab(i));
end loop ;
end ;
----修改嵌套表
update bookclass b set b.v_booklist = booklist('c#' , '.net', 'c++' ) where rownum = '1';
6.可变数组 使用方法
declare
type ename is varray(5) of varchar(20); ---定义一个可变数组类型 其最大长度为5
v_ename ename:=ename('sdfs','fsdf','sfdsdf'); ------初始化三个元素,这里初始化过几个,下面就只能使用几个
begin
select t.ename into v_ename(3) from emp t where rownum=1;
dbms_output.put_line(v_ename(3));
end;
7.集合的一些函数用法
declare
type ename is varray( 5 ) of varchar( 20 );
v_ename ename:=ename( 'sdfs' ,'fsdf' , 'sfdsdf');
begin
if v_ename.exists(1 ) then ---exists(n)检查第n个元素是否存在
dbms_output.put_line( 'have' );
dbms_output.put_line(v_ename.count); ---count 统计一共有多少个元素
dbms_output.put_line(v_ename.limit); ---limit 统计最多有多少个元素
dbms_output.put_line(v_ename.prior( 2 )); ---prior(n)返回第n个元素的前一个元素的下标
dbms_output.put_line(v_ename.next( 2 )); ---next(n)返回第n个元素的后一个元素的下标
[b] /*******************************************************
这些方法包括可变数组,索引表,嵌套表都支持,
另外索引表,嵌套表 还支持delete方法(delete,delete(n),delete(n,m)),
需要注意的是delete以后, 未删除的元素的下标不会变化,delete只是把所要删除的元素质空
************************ ********************************/[/b]
dbms_output.put_line(v_ename( 3 ));
else
dbms_output.put_line( 'no' );
end if ;
end ;
分享到:
相关推荐
Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,本文向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法。第一种方法:利用操作符intersect,intersect操作符...
大家都知道,从oracle数据库中导出数据时,如果其中有字段类型为date,那么导出时将会变成to_date('29-...本程序实现了将oracle数据导出文件中的to_date('x','y')转换成'x'的功能,并去掉了一些非SQL语句,如prompt...
它可以在Oracle数据库8i以上的版本中运行,并且支持大部份最新的Oracle功能,包括目录、数据表空间、同义词、物化检索、触发器、序列及类型等。Navicat的的功能不仅可以满足专业开发人员的所有需求,而且对Oracle的...
7.1.2 隐藏数据的复杂性 7.1.3 实现命名简洁性和易读性 7.1.4 实现更改灵活性 7.2 实现记录的唯一性 7.2.1 用键实现 7.2.2 创建唯一索引 7.2.3 使用序列实现 7.3 实现数据的完整性 7.3.1 域完整性 ...
第42章 Oracle数据字典指南 第43章 调整应用程序和SQL旅行者指南 第44章 调整中的案例分析 第45章 Oracle Application Server 10g的旅行者指南 第46章 数据库管理旅行者指南 第47章 XML旅行者指南
第三章:SQL的数据类型 第四章、WHERE子句中常用的运算符 第五章:分组函数 第六章:数据限定和排序 第七章:复杂查询(上):多表连接技术 第八章:复杂查询(下):子查询 第二部分:用户及数据库对象 第九...
读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录类型、集合类型...
Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二) http://download.csdn.net/source/3268312 内容简介 本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握...
Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二) http://download.csdn.net/source/3268312 内容简介 本书是专门为oracle应用开发人员提供的sql和pl/sql编程指南。通过学习本书,读者不仅可以掌握...
第4章 Oracle数据字典管理与数据类型。包括数据字典的分类、使用方法以及各种对象的具体查询等做了详细的介绍。第5章 数据库对象的创建与使用。主要包括各种类型的表创建以及适用情形,如外部表、分区表、嵌套表、...
其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 ...
下面向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法,笔者感到这两种方法执行效率高、使用方便。 第一种方法:利用操作符intersect intersect操作符用来合并两个查询,返回两个查询中都存在的记录,即...
§1.7 ORACLE数据类型 38 §1.8 SQL 语句基础 44 §1.8.1 SQL语句所用符号 44 §1.8.2 简单select 查询 45 §1.9 伪列及伪表 46 §1.10 使用SQL Worksheet工作 46 第二章 查询基础 50 §2.1 SELECT语句 50 §2.2 SQL...
第二部分 ORACLE应用系统设计优化 91 第8章ORACLE数据库系统优化安装 91 §7.1 应用系统环境规划和Oracle系统安装考虑 91 §7.1.1 操作系统安装考虑 91 §7.1.2 Oracle系统安装考虑 92 §7.2 关于创建多个Oracle实例...
7.1.2 隐藏数据的复杂性 7.1.3 实现命名简洁性和易读性 7.1.4 实现更改灵活性 7.2 实现记录的唯一性 7.2.1 用键实现 7.2.2 创建唯一索引 7.2.3 使用序列实现 7.3 实现数据的完整性 7.3.1 域完整性 7.3.2 ...
第4章 Oracle数据字典管理与数据类型。包括数据字典的分类、使用方法以及各种对象的具体查询等做了详细的介绍。第5章 数据库对象的创建与使用。主要包括各种类型的表创建以及适用情形,如外部表、分区表、嵌套表、...
读者不仅可以掌握Oracle常用工具Oracle Universal Installer、Net Comfiguration Assistant、SQL Developer、SQL*Plus的作用及使用方法,而且可以掌握SQL语句和PL/SQL的各种基础知识和高级特征(记录类型、集合类型...
第45章 oracle 数据字典指南 第46章 应用程序和sql 调整指南 第47章 sql 结果缓存和客户端查询缓存 第48章 关于调整的示例分析 第49章 高级体系结构选项—— db保险库、内容db 和记录db 第50章 oracle ...