oracle 集合
EXISTS 该函数返回 NULL Collection.EXISTS(index) COUNT 该函数集合 Collection.COUNT DELETE 该过程从嵌套表中删除一个或多个或合部元素 Table_name.DELETE 删除所有元素 Table_name.delete(index)删除指定索引的记录 Table_name.delete(start_index,end_index)删除区间内元素 FIRST 返回集合第一个元素索引,如果集合为空,返回NULL Collection.FIRST LAST 返回集合中最后一个元素索引,如果集合为空,返回NULL Collection. LAST NEXT 返回集合当前元素的下一个元素的索引,如果它不存在就返回NULL Collection. NEXT PRIOR 返回集合当前元素的上一个元素的索引,如果它不存在就返回NULL Collection. PRIOR LIMIT 返回varray中创建元素的最大个数 Collection. LIMIT EXTENDS 该过程在集合的末尾添加新的元素 Collection.EXTEND添加一个NULL元素;Collection.extends(n)添加N个NULL元素,Collection.extend(n,index)添加由index指定位置上元素的n个副表 TRIM 从集合末尾处删除元素 Collection.TRIM 删除最后一个元素 Collection.TRIM(n)删除最后N个元素 数据加中的集合 ------from to me
与index-by表不同,varray和嵌套表可以作为对象-关系表中的珍存储在数据库中。它们也可以作为对象关系表中的列使用。为了表示出作为数据库列的数据类型,集合类型必须是在pl/sql和 sql中可见。这需要使用create or replace type 语句定义而不能仅在pl/sql块中进行局部定义。语法如下:
create of replace type table_name is table of data_type
I.表类型
--索引组织表,存放在内存中的表.
DECLARE
TYPE t_indexTable IS TABLE OF emp%ROWTYPE NOT NULL INDEX BY BINARY_INTEGER;
v_indexTable t_indexTable;
CURSOR v_cur IS
SELECT * FROM emp;
BEGIN
FOR c IN v_cur LOOP
v_indexTable(c.empno):=c;
IF v_indexTable.EXISTS(c.empno) THEN
DBMS_OUTPUT.PUT_LINE('v_indexTable('||c.empno||').empno=' || c.empno
||';v_indexTable('||c.empno||').ename='||c.ename);
ELSE
DBMS_OUTPUT.PUT_LINE('v_indexTable('||c.empno||'):不存在');
END IF;
END LOOP;
END;
注:INDEX BY BINARY_INTEGER表示索引表,否则为嵌套表.表类型的下标不一定是连续的,所以可以删除某个下标值,数组类型不行.
编程语言
- Win10 PC创意者更新慢速版15048改进内容与已知问题
- 用纯CSS3实现网页中常见的小箭头
- 神舟笔记本问题集锦
- Bellnames常用操作说明
- 揭秘手机淘宝搜索排序的影响因素
- XHTML入门学习教程-网页Head和DTD
- 笔记本光驱保养常用知识
- hzhost虚拟主机系统致命漏洞
- 电脑无线网络出现红色叉叉无线网卡打不开的六
- 16项评比不得不看 机箱哪些功能最实用
- AI怎么绘制一个呲牙的qq表情-
- 红帽指点杆机械键盘 TEX Yoda上手体验测评
- 笔记本电脑保养常识有哪些-笔记本保养常识总结
- cdr怎么设计圆角矩形效果的图标-
- 在XSLT样式表中声明命名空间小结
- Fireworks教程-常用操作技巧总结