COUNT |
返回集合中的元素数目。 |
CREATE PACKAGE foo
AS
TYPE sparse_arr_typ IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
END;
/
SET SERVEROUTPUT ON
/
DECLARE
sparse_arr foo.sparse_arr_typ;
BEGIN
sparse_arr(-10) := -10;
sparse_arr(0) := 0;
sparse_arr(10) := 10;
DBMS_OUTPUT.PUT_LINE('COUNT: ' ||
sparse_arr.COUNT);
END;
/
|
DELETE |
从集合中除去所有元素。 |
CREATE PACKAGE foo
AS
TYPE names_typ IS TABLE OF VARCHAR2(10)
INDEX BY BINARY_INTEGER;
END;
/
SET SERVEROUTPUT ON
/
DECLARE
actor_names foo.names_typ;
BEGIN
actor_names(1) := 'Chris';
actor_names(2) := 'Steve';
actor_names(3) := 'Kate';
actor_names(4) := 'Naomi';
actor_names(5) := 'Peter';
actor_names(6) := 'Philip';
actor_names(7) := 'Michael';
actor_names(8) := 'Gary';
DBMS_OUTPUT.PUT_LINE('COUNT: ' ||
actor_names.COUNT);
actor_names.DELETE(2);
DBMS_OUTPUT.PUT_LINE('COUNT: ' ||
actor_names.COUNT);
actor_names.DELETE(3, 5);
DBMS_OUTPUT.PUT_LINE('COUNT: ' ||
actor_names.COUNT);
actor_names.DELETE;
DBMS_OUTPUT.PUT_LINE('COUNT: ' ||
actor_names.COUNT);
END;
/
|
DELETE (n) |
从关联数组中除去元素 n。不能从 VARRAY 集合数组中除去各个元素。 |
请参阅“DELETE”。 |
DELETE (n1, n2) |
从关联数组中除去所有从 n1 到 n2 的元素。不能从 VARRAY 集合数组中除去各个元素。 |
请参阅“DELETE”。 |
EXISTS (n) |
如果指定的元素存在,那么返回 TRUE。 |
CREATE PACKAGE foo
AS
TYPE emp_arr_typ IS VARRAY(5) OF VARCHAR2(10);
END;
/
SET SERVEROUTPUT ON
/
DECLARE
emp_arr foo.emp_arr_typ;
CURSOR emp_cur IS SELECT ename FROM emp
WHERE ROWNUM <= 5;
i INTEGER := 0;
BEGIN
FOR r_emp IN emp_cur LOOP
i := i + 1;
emp_arr.EXTEND;
emp_arr(i) := r_emp.ename;
END LOOP;
emp_arr.TRIM;
FOR j IN 1..5 LOOP
IF emp_arr.EXISTS(j) = true THEN
DBMS_OUTPUT.PUT_LINE(emp_arr(j));
ELSE
DBMS_OUTPUT.PUT_LINE('THIS ELEMENT
HAS BEEN DELETED');
END IF;
END LOOP;
END;
/
|
EXTEND |
对集合追加单一 NULL 元素。 |
请参阅“EXISTS (n)”。 |
EXTEND (n) |
对集合追加 n 个 NULL 元素。 |
请参阅“EXISTS (n)”。 |
EXTEND (n1, n2) |
对集合追加第 n2 个元素的 n1 个副本。 |
请参阅“EXISTS (n)”。 |
FIRST |
返回集合中的最小索引号。 |
CREATE PACKAGE foo
AS
TYPE emp_arr_typ IS VARRAY(5) OF VARCHAR2(10);
END;
/
SET SERVEROUTPUT ON
/
DECLARE
emp_arr foo.emp_arr_typ;
CURSOR emp_cur IS SELECT ename FROM emp
WHERE ROWNUM <= 5;
i INTEGER := 0;
k INTEGER := 0;
l INTEGER := 0;
BEGIN
FOR r_emp IN emp_cur LOOP
i := i + 1;
emp_arr(i) := r_emp.ename;
END LOOP;
-- Use FIRST and LAST to specify the lower and
-- upper bounds of a loop range:
FOR j IN emp_arr.FIRST..emp_arr.LAST LOOP
DBMS_OUTPUT.PUT_LINE(emp_arr(j));
END LOOP;
-- Use NEXT(n) to obtain the subscript of
-- the next element:
k := emp_arr.FIRST;
WHILE k IS NOT NULL LOOP
DBMS_OUTPUT.PUT_LINE(emp_arr(k));
k := emp_arr.NEXT(k);
END LOOP;
-- Use PRIOR(n) to obtain the subscript of
-- the previous element:
l := emp_arr.LAST;
WHILE l IS NOT NULL LOOP
DBMS_OUTPUT.PUT_LINE(emp_arr(l));
l := emp_arr.PRIOR(l);
END LOOP;
DBMS_OUTPUT.PUT_LINE('COUNT: ' || emp_arr.COUNT);
emp_arr.TRIM;
DBMS_OUTPUT.PUT_LINE('COUNT: ' || emp_arr.COUNT);
emp_arr.TRIM(2);
DBMS_OUTPUT.PUT_LINE('COUNT: ' || emp_arr.COUNT);
DBMS_OUTPUT.PUT_LINE('Max. no. elements = ' ||
emp_arr.LIMIT);
END;
/
|
LAST |
返回集合中的最大索引号。 |
请参阅“FIRST”。 |
LIMIT |
对于 VARRAY,返回最大元素数目;对于嵌套的表,返回 NULL。 |
请参阅“FIRST”。 |
NEXT (n) |
返回紧跟在指定索引后面的元素的索引编号。 |
请参阅“FIRST”。 |
PRIOR (n) |
返回紧跟在指定索引前面的元素的索引编号。 |
请参阅“FIRST”。 |
TRIM |
从集合末尾除去单个元素。不能从关联数组集合类型中除去元素。 |
请参阅“FIRST”。 |
TRIM (n) |
从集合末尾除去 n 个元素。不能从关联数组集合类型中除去元素。 |
请参阅“FIRST”。 |