oracle 集合

Collection. LIMIT

FOR c IN v_cur LOOP
v_indexTable(c.empno):=c;

Table_name.delete(index)删除指定索引的记录

NEXT

数据加中的集合

注:INDEX BY BINARY_INTEGER表示索引表,否则为嵌套表.表类型的下标不一定是连续的,所以可以删除某个下标值,数组类型不行.

DECLARE
create of replace type table_name is table of data_type

Table_name.delete(start_index,end_index)删除区间内元素

DBMS_OUTPUT.PUT_LINE('v_indexTable('||c.empno||').empno=' || c.empno

EXTENDS

PRIOR

------from to me

v_indexTable t_indexTable;
BEGIN
vKP码友部落

返回varray中创建元素的最大个数

Table_name.DELETE 删除所有元素

LAST

返回集合当前元素的上一个元素的索引,如果它不存在就返回NULL

CURSOR v_cur IS

I.表类型

END IF;

返回集合中最后一个元素索引,如果集合为空,返回NULL

该过程从嵌套表中删除一个或多个或合部元素

DELETE

Collection.TRIM(n)删除最后N个元素

LIMIT

vKP码友部落

vKP码友部落

END;

vKP码友部落

Collection.FIRST

与index-by表不同,varray和嵌套表可以作为对象-关系表中的珍存储在数据库中。它们也可以作为对象关系表中的列使用。为了表示出作为数据库列的数据类型,集合类型必须是在pl/sql和 sql中可见。这需要使用create or replace type 语句定义而不能仅在pl/sql块中进行局部定义。语法如下:

Collection.EXISTS(index)

vKP码友部落

DBMS_OUTPUT.PUT_LINE('v_indexTable('||c.empno||'):不存在');

TRIM

返回集合当前元素的下一个元素的索引,如果它不存在就返回NULL

||';v_indexTable('||c.empno||').ename='||c.ename);

FIRST

Collection.EXTEND添加一个NULL元素;Collection.extends(n)添加N个NULL元素,Collection.extend(n,index)添加由index指定位置上元素的n个副表

--索引组织表,存放在内存中的表.
vKP码友部落

该过程在集合的末尾添加新的元素

TYPE t_indexTable IS TABLE OF emp%ROWTYPE NOT NULL INDEX BY BINARY_INTEGER;

该函数集合

返回集合第一个元素索引,如果集合为空,返回NULL

Collection.COUNT

Collection. PRIOR

vKP码友部落

vKP码友部落

vKP码友部落

从集合末尾处删除元素

END LOOP;

Collection. LAST

COUNT

Collection.TRIM 删除最后一个元素

vKP码友部落

Collection. NEXT

ELSE
vKP码友部落

SELECT * FROM emp;
IF v_indexTable.EXISTS(c.empno) THEN