EXTEND方法用于增加集合的大小。
EXTEND方法存在三個變體。第一個變體將一個NULL元素附加到集合中;第一個變體的語法是:
collection.EXTEND
collection是集合的名稱。
以下示例演示如何使用EXTEND方法將單個null元素附加到集合:
DECLARE
TYPE sparse_arr_typ IS TABLE OF NUMBER;
sparse_arr sparse_arr_typ := sparse_arr_typ(-100,-10,0,10,100);
v_results VARCHAR2(50);
BEGIN
DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
sparse_arr.EXTEND;
DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
FOR i IN sparse_arr.FIRST .. sparse_arr.LAST LOOP
IF sparse_arr(i) IS NULL THEN
v_results := v_results || 'NULL ';
ELSE
v_results := v_results || sparse_arr(i) || ' ';
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Results: ' || v_results);
END;
COUNT: 5
COUNT: 6
Results: -100 -10 0 10 100 NULL
COUNT表示在調用EXTEND方法之前,集合中有5個元素;在調用EXTEND方法之后,該集合包含6個元素。
EXTEND方法的第二個變體將指定元素數量附加到集合的末尾。
collection.EXTEND(count)
collection是集合的名稱。
count是添加到集合末尾的null元素數量。
以下示例演示如何使用EXTEND方法將多個null元素附加到集合:
DECLARE
TYPE sparse_arr_typ IS TABLE OF NUMBER;
sparse_arr sparse_arr_typ := sparse_arr_typ(-100,-10,0,10,100);
v_results VARCHAR2(50);
BEGIN
DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
sparse_arr.EXTEND(3);
DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
FOR i IN sparse_arr.FIRST .. sparse_arr.LAST LOOP
IF sparse_arr(i) IS NULL THEN
v_results := v_results || 'NULL ';
ELSE
v_results := v_results || sparse_arr(i) || ' ';
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Results: ' || v_results);
END;
COUNT: 5
COUNT: 8
Results: -100 -10 0 10 100 NULL NULL NULL
COUNT表示在調用EXTEND方法之前,集合中有5個元素;在調用EXTEND方法之后,該集合包含8個元素。
EXTEND方法的第三個變體將特定元素的指定數量副本附加到集合的末尾。
collection.EXTEND(count, index_number)
collection是集合的名稱。
count是添加到集合末尾的元素數量。
index_number是要復制到集合中的元素的下標。
以下示例演示如何使用EXTEND方法將第二個元素的多個副本附加到集合:
DECLARE
TYPE sparse_arr_typ IS TABLE OF NUMBER;
sparse_arr sparse_arr_typ := sparse_arr_typ(-100,-10,0,10,100);
v_results VARCHAR2(50);
BEGIN
DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
sparse_arr.EXTEND(3, 2);
DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
FOR i IN sparse_arr.FIRST .. sparse_arr.LAST LOOP
IF sparse_arr(i) IS NULL THEN
v_results := v_results || 'NULL ';
ELSE
v_results := v_results || sparse_arr(i) || ' ';
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Results: ' || v_results);
END;
COUNT: 5
COUNT: 8
Results: -100 -10 0 10 100 -10 -10 -10
COUNT表示在調用EXTEND方法之前,集合中有5個元素;在調用EXTEND方法之后,該集合包含8個元素。
說明
EXTEND方法不能用于null或空集合。
文檔內容是否對您有幫助?