知识大全 Oracle复合数据类型(4)
Posted 元素
篇首语:青春须早为,岂能长少年。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle复合数据类型(4)相关的知识,希望对你有一定的参考价值。
Oracle复合数据类型(4) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
使用集合 象记录一样 集合可以在两个层面上使用 操作整个集合 访问集合中的单个元素 第一种情况使用集合名 第二种情况使用下标 collection(subscript) index_by表的下标是两为的整数 可以为正也可以为负 范围是 嵌套表和VARRAY表示元素在集合中的位置 用户很难灵活设计下标 这是因为 嵌套表开始是紧密的(相对于疏松) VARRAY始终保持紧密 这两种集合的下标都由 开始 初始化 删除 引用集合 使用集合之前必须要初始化 对于Index_by表初始化是自动进行的 但是对于嵌套表和VARRAY就必须使用内建的构造函数 如果重新调用 嵌套表和VARRAY自动置NULL 这不只是元素置NULL 而是整个集合置NULL 给集合内的元素赋值需要使用下标符号 将一个集合的值赋给另一个集合 只需要简单的使用赋值操作符 Index_by集合初始化是最简单的 只要涉及其中的一个元素集合就被初始化了 例 DECLARE TYPE symbol_tab_typ IS TABLE OF VARCHAR ( ) INDEX BY BINARY_INTEGER; TYPE account_tab_typ IS TABLE OF account%ROWTYPE INDEX BY BINARY_INTEGER; symbol_tab symbol_tab_typ; account_tab account_tab_typ; new_acct_tab account_tab_typ; BEGIN 初始化集合元素 和 SELECT * INTO account_tab( ) FROM accounts WHERE account_nbr= ; SELECT * INTO account_tab( ) FROM accounts WHERE account_nbr= ; IF account_tab( ) balance< THEN chang_maintenance_fee( ); END IF new_acct_tab:=account_tab; symbol_tab( ):= ORCL ; symbol_tab( ):= CSCO ; symbol_tab( ):= SUNM ; publish_portfolio(symbol_tab); 嵌套表和VARRAY由构造函数初始化 构造函数和集合的名字相同 同时有一组参数 每个参数对应一个元素 如果参数为NULL 那么对应的元素就被初始化为NULL 如果创建了元素 但没有填充数据 那么元素将保持null值 可以被引用 但不能保持数据 如果元素没有初始化 那么就不能引用该元素 例 DECLARE TYPE stock_list IS TABLE OF stock symbol%TYPE; TYPE top _list IS VARRAY ( ) OF stocks symbol%TYPE; biotech_stocks stock_list; tech_ top _list; BEGIN 非法 集合未初始化 biotech_stocks( ):= AMGN ; IF biotech_stocks IS NULL THEN 初始化集合 biotech_stocks =( AMGN BGEN IMCL GERN CRA ); END IF; tech_ :=top _list( ORCL CSCO MSFT INTC SUNW IBM NULL NULL); IF tech_ ( ) IS NULL THEN tech_ ( ):= CPQ ; END tech_ ( ):= DELL ; 在这个例子中 嵌套表BIOTECH_STOCKS初始化有 个元素 VARRAY tech_ 集合最多能有 个元素 但构造函数只创建了 个元素 其中还有两个元素是NULL值 并程序中给他们赋值 初始化基于记录的集合 就必须将记录传递给构造函数 注意不能只是简单的将记录的域传递给构造函数 例 DECLARE TYPE stock_quote_rec IS RECORD (symbol stock symbol%TYPE bid NUMBER( ) ask NUMBER( ) volume NUMBER NOT NULL:= ); TYPE stock_tab_typ IS TABLE OF stock_quote_rec; quote_list stock_tab_typ; single_quote stock_quote_rec; BEGIN single_quote symbol:= OPCL ; single_quote bid:= ; single_quote ask:= ; single_quote volume:= ; 合法 quote_list:=stock_tab_typ(single_quote); 不合法 quote_list:=stock_tab_typ( CSCO ); DBMS_OUTPUT LINE(quote_list( ) bid); cha138/Article/program/Oracle/201311/18831相关参考
知识大全 Oracle基本数据类型存储格式浅析(一)-字符类型
Oracle基本数据类型存储格式浅析(一)-字符类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Oracle基本数据类型存储格式浅析—日期类型(3)
Oracle基本数据类型存储格式浅析—日期类型(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Oracle数据类型及存储方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 概述 通过实例全
Oracle数据库入门之函数/类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle主
Oracle数据库游标的类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 游标是SQL的一个内
知识大全 java语言操作Oracle数据库中的CLOB数据类型
java语言操作Oracle数据库中的CLOB数据类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
全面探讨PL/SQL的复合数据类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PL/SQL有
ORACLE大数据类型的操作之一CLOB 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 大家在应
Oracle9i的标量数据类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Oraclei的标量数
用PHP操纵Oracle的LOB类型的数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!《PHP+