oracle 集合
来源:互联网 发布:c语言break跳出if 编辑:程序博客网 时间:2024/06/16 05:50
索引表
下标能为负,个数不限的数据类型
语法:
TYPE type_name is table of element_type
[not null]index by key-type
key-type表示下标的数据类型,oracle索引表的下标支持BINARY_INTEGER,PLS_INTEGER,VARCHAR2
DECLARE
TYPE TABLE_TYPE IS TABLE OF VARCHAR2(20)
INDEX BY BINARY_INTEGER;
MYTYPE TABLE_TYPE;
BEGIN
SELECT NAME INTO MYTYPE(-1) FROM KT WHERE ID=1;
DBMS_OUTPUT.PUT_LINE(MYTYPE(-1));
END;
无限个数,下标可以为fu
嵌套表
下标从1开始,并且个数不受限制,嵌套表可以是稀疏的。所谓稀疏意思是表下标对应的内容部一定都存在
语法:
TYPE type_name is table of element_type;
嵌套表在使用之前,必须先进行构造函数初始化,这点与索引表不同。
DECLARE
TYPE TABLE_TYPE IS TABLE OF KT.NAME%TYPE;
MYTYPE TABLE_TYPE;
BEGIN
MYTYPE:=TABLE_TYPE('TIGER','TIGER','TIGER');
SELECT NAME INTO MYTYPE(2) FROM KT WHERE ID=1;
DBMS_OUTPUT.PUT_LINE(MYTYPE(2));
END;
嵌套表不仅可以在PL/SQL中使用,还可以作为表的一列使用。
在作为表的列使用时,必须使用CREATE TYPE TABLE_TYPE IS TABLE OF element_type;
并且要为嵌套表列指定专门的存储表。
CREATE TABEL TEST(ID NUMBER(3),NAME VARCHAR2(20),
MYTYPE TABLE_TYPE
)NESTED TABLE MYTYPE STORE AS MYTYPE_TABLE;
为嵌套表列插入数据时,使用构造函数
BEGIN
INSERT INTO TEST VALUES(1,'SCOTT',TABLE_TYPE('TIGER','TIGER'))
END;
变长数组 varray
元素下标从一开始,并且元素个数是有限制的
TYPE TYPE_NAME IS VARRAY(SIZE_LIMIT) OF ELEMENT_TYPE[NOT NULL];
在使用时,必须先调用构造函数进行初始化。
也可以作为表列使用,用法与嵌套表类似
记录表
记录表是用来处理多行多列数据的
TYPE TYPE_NAME IS TABLE OF TABLE%ROWTYPE
INDEX BY BINARY_INTEGER;
- oracle集合
- oracle 集合
- Oracle集合
- oracle 集合
- ORACLE--集合
- 【Oracle】Oracle中的集合类型
- oracle的集合类型
- Oracle的集合操作
- oracle集合介绍
- Oracle 错误集合
- oracle权限问题集合
- oracle 问题集合
- Oracle权限集合
- Oracle 错误集合
- Oracle函数集合
- Oracle的集合操作
- Oracle集合的方法
- ORACLE 数据集合
- Linux串口编程
- patch打 补丁
- bbed获取oracle dbid(oracle十进制和十六进制转换)
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- android 自定义LinearLayout
- oracle 集合
- c++类型-const的使用
- CCS 3.3 操作C函数读写文件
- POJ 1922 Ride to School
- [mini2440]如何配置minicom
- POJ 1562 Oil Deposits
- 9.2图的存储结构 9.2.1 邻接矩阵存储方法
- java中“==”和equals方法有什么区别
- Mina自定义文本编解码