`
xiongpan0807
  • 浏览: 16652 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle数据复杂类型(二)

阅读更多
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基本数据类型存储格式浅析

    RAW类型用于存储二进制数据,如图片、证书等,其长度可变,且数据以原始字节形式存储,不受字符编码的影响。 综上所述,理解Oracle的基本数据类型的存储格式对于优化数据库设计、节省存储空间和提高查询效率具有...

    oracle数据类型总结PPT

    以下是对Oracle数据类型的详细总结,特别是字符和二进制串类型。 首先,我们来看字符类型。Oracle提供了四种基本的字符数据类型:`CHAR`,`NCHAR`,`VARCHAR2`,以及`NVARCHAR2`。`CHAR`和`NCHAR`是固定长度的数据...

    java、mysql以及oracle数据类型对照表

    标题"java、mysql以及oracle数据类型对照表"揭示了本主题的核心,即比较Java、MySQL和Oracle数据库的数据类型。Java的数据类型主要分为基本类型(如int、double、boolean)和引用类型(如类、接口和数组)。MySQL和...

    Oracle与DB2数据类型分类对应说明

    Oracle 和 DB2 的数据类型分类对应关系是复杂的,我们需要根据实际情况选择合适的数据类型,以确保数据的正确性和一致性。同时,我们也需要注意在数据类型之间进行转换时的差异和注意事项,以避免数据丢失或错误。

    Oracle数据类型

    Oracle数据库中常用的数据类型主要包括字符类型、数字类型、日期时间类型以及LOB类型等,每一种数据类型适用于特定的数据存储需求。 1. 字符类型 - CHAR类型是固定长度的,用于存储定长的字符串,最多2000个字符。...

    v512工作室_张利国_Java高端培训系列教材_Oracle实用教程_04章_Oracle数据类型和函数.

    ### Oracle 数据类型详解 #### 4.1 Oracle 数据类型 ##### 4.1.1 概述 在深入了解Oracle数据库中的各种数据类型...无论是简单的字符数据类型还是复杂的用户自定义类型,Oracle都提供了丰富的选项来满足不同的需求。

    Oracle与DB2数据类型的分类对应说明

    Oracle 与 DB2 数据类型的分类对应说明 ... Oracle 和 DB2 数据类型之间的对应关系较为复杂,需要根据具体情况进行选择和转换。通过本文的说明,可以更好地理解和应用 Oracle 和 DB2 数据库管理系统。

    Oracle 数据类型及存储方式.pdf

    除了上述数据类型外,Oracle还提供了其它复合数据类型,比如ROWTYPE、TABLE等,它们可以存储记录集或表中的数据行,这些数据类型对于存储复杂数据结构非常有用。 Oracle数据库在存储数据时,采用的是页(page)的方式...

    oracle基本数据类型及用法

    以下是对Oracle数据类型的详细解释: 1. **字符型数据类型**: - **CHAR**: 用于存储固定长度的文本数据,如果输入的数据不足指定长度,Oracle会用空格填充。 - **VARCHAR2**: 用于存储可变长度的文本,比CHAR更...

    Oracle数据类型详解

    理解Oracle数据类型对于数据库设计、开发和管理至关重要。以下是Oracle 10g中数据类型的详细讲解: 1. **数值类型** - `NUMBER(p,s)`: 最通用的数值类型,可以存储整数和小数,p代表总位数,s代表小数位数。 - `...

    Oracle和数据结构

    二、Oracle数据模型 1. 层次模型:Oracle早期版本支持层次模型,其中数据以树形结构组织,但现代Oracle主要使用关系模型。 2. 关系模型:关系模型是最常见的数据模型,以表格形式表示数据,强调数据之间的关系。 ...

    OCCI添加Oracle特殊数据字段类型

    SDO_GEOMETRY 字段是一种复杂的数据类型,无法使用普通的数据类型来存储,因此需要使用 OCCI 来添加对该字段的支持。 OCCI 添加 Oracle 特殊数据字段支持的步骤: 1. 在 Oracle 服务器端创建一个名为 spatial_...

    Oracle数据仓库架构

    Oracle数据仓库架构还支持与各种集群数据库类型的集成,如无所共享的数据库(如IBM DB2)和共享高速缓存的Oracle9i RAC,这提供了高可用性和可伸缩性的解决方案,解决了传统单点故障的问题。通过高速交换器或...

    oracle数据类型及函数

    理解并熟练使用Oracle的数据类型和函数,能够有效地管理数据、执行复杂的查询以及优化数据库性能。在实际应用中,根据业务需求选择合适的数据类型,利用函数进行数据处理,可以提高数据操作的效率和准确性。同时,...

    oracle 自定义数据结构和表类型实验

    在Oracle数据库系统中,自定义数据结构和表类型是数据库设计和开发的重要组成部分。这些特性允许用户根据业务需求创建特定的数据存储解决方案,提高数据管理的灵活性和效率。本实验主要探讨了如何在Oracle中实现...

    Oracle 数据挖掘手册

    根据提供的文档信息,我们可以深入探讨Oracle数据挖掘的概念与应用,特别是在Oracle 9i版本中的具体实现。本手册主要涵盖了Oracle 9i Data Mining的核心概念、技术细节及其在实际业务场景中的应用策略。以下是对该...

    ORACLE 数据类型及常用函数培训

    以下是对标题和描述中提及的Oracle数据类型及常用函数的详细讲解。 **一、Oracle数据类型** 1. **字符数据类型** - `Char(n)`:固定长度的字符串,最多可存储n个字符,不足会填充空格。 - `Varchar2(n)`:可变...

    Oracle数据字典大全.doc

    《Oracle数据字典大全》是IT领域中关于数据库管理的重要参考资料,主要针对Oracle数据库系统,提供了全面的数据字典信息。数据字典在Oracle中扮演着核心角色,它存储了数据库的所有元数据,即关于数据的数据,包括表...

Global site tag (gtag.js) - Google Analytics