oracle 集合 nested_table

原创 2015年07月10日 00:56:03
1、--创建嵌套表类型
      Create Or Replace Type nested_table_type_name Is Table Of element_type;
      --创建嵌套表对象
      nested_table_variabe_name nested_table_type_name;

 注:使用嵌套表对象元素之前必须先初始化。下标从1开始,元素个数没限制

实例:

Create Or Replace Type test_type Is Table Of Varchar2(100)
 
Create Table tmp
(
  Id Number,
  phone  test_type,
  email  test_type
 )
  Nested Table phone Store As phone_table,
  Nested Table email Store As email_table


Insert Into tmp Values(1,test_type('13400000001','13400000002','13400000003'),test_type('a@126.com','b@126.com'));
Insert Into tmp Values(2,test_type('13500000001','13500000002','13500000003'),test_type('a@163.com','b@163.com'));
Insert Into tmp(Id) Values(3);
Update tmp Set phone=test_type('13600000001','13600000002') Where Id=3;
 
Declare
  test_rd test_type;
  i Number;
Begin
  Select phone Into test_rd From tmp Where Id=1;
  For i In 1 .. test_rd.count 
    Loop
      dbms_output.put_line(test_rd(i));
    End Loop;
End;  
输出:
13400000001
13400000002

13400000003


Declare
  test_rd test_type;
Begin 
  test_rd:=test_type('','','');
  test_rd(1):='1';
  test_rd(3):='2';
  dbms_output.put_line('元素个数:'||test_rd.count);
  dbms_output.put_line('元素1:'||test_rd(1));
  dbms_output.put_line('元素2:'||test_rd(2));
  dbms_output.put_line('元素3:'||test_rd(3));
End;
输出:
元素个数:3
元素1:1
元素2:
元素3:2







oracle执行计划中NESTED LOOPS SEMI (即半嵌套循环)的解释

在存在in的子查询的SQL语句和存在EXISTS的相关子查询的SQL语句的执行计划里,有NESTED LOOPS SEMI (即半嵌套循环)。 所谓的NESTED LOOPS SEMI (即半嵌套...
  • haiross
  • haiross
  • 2014年12月25日 11:27
  • 3345

oracle 表连接 - nested loop 嵌套循环连接

一. nested loop 原理 nested loop 连接(循环嵌套连接)指的是两个表连接时, 通过两层嵌套循环来进行依次的匹配, 最后得到返回结果集的表连接方法.  假如下面的 sql...
  • dataminer_2007
  • dataminer_2007
  • 2014年12月09日 18:27
  • 6424

oracle 数据库中几种连接方式执行过程(nested loop、hash join、sort order join)

简单介绍了一下oracle 各种连接方式的执行过程,伪代码内容来源于pro oracle sql。...
  • renfengjun
  • renfengjun
  • 2014年01月21日 10:56
  • 2967

2013年工作中遇到的20个问题:261-280

最近遇到的20个问题,大多比较常见,很有学习价值。 有几个是第1次遇到,大部分都解决了,挺给力的。 个别问题,可能难以找到根本原因。 有兴趣的,来瞧瞧吧!...
  • FansUnion
  • FansUnion
  • 2013年10月28日 13:12
  • 3473

oracle学习笔记 PGA管理和调整

oracle学习笔记 PGA管理和调整 oracle的pga的管理 pga内存是如何运作的、如何去管理讲一下 一)oracle的两种工作方式 简单提一下关于oracle的两种工作方式 Dedicate...
  • xinzhan0
  • xinzhan0
  • 2017年01月09日 17:02
  • 675

Oracle中的三种 UPDATE FROM 的解决方案

表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过...
  • wzy0623
  • wzy0623
  • 2016年12月29日 14:00
  • 890

深入理解Oracle表(3):三大表连接方式详解之Nested loop join和 Sort merge join

关系数据库技术的精髓就是通过关系表进行规范化的数据存储       并通过各种表连接技术和各种类型的索引技术来进行信息的检索和处理       这里Think愿意和大家一起来学习分享Oracle的三大...
  • linwaterbin
  • linwaterbin
  • 2013年01月28日 00:33
  • 4876

ORACLE中RECORD、VARRAY、TABLE的使用详解

ORACLE中RECORD、VARRAY、TABLE的使用详解
  • liangweiwei130
  • liangweiwei130
  • 2014年07月28日 08:22
  • 41800

Oracle table()函数查询函数返回的结果集

本文介绍如何利用Oracle的table()函数,查询函数返回的结果集。使用此技术,就可以用以下形式如同查询普通表一样查询函数返回的结果集了。这对于Java程序就可以像使用普通SELECT语句一样,使...
  • warrenjiang
  • warrenjiang
  • 2015年12月13日 22:42
  • 3616

ORACLE中通过SQL语句(alter table)来增加、删除、修改字段

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:al...
  • piaoxuan1987
  • piaoxuan1987
  • 2013年10月04日 13:43
  • 94099
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 集合 nested_table
举报原因:
原因补充:

(最多只允许输入30个字)