第一種方法,自己傳值給array
PROCEDURE p_varray_collection IS
TYPE auth_var IS VARRAY (10) OF employee.emp_name%TYPE;

a_auth auth_var := auth_var ();
BEGIN
a_auth.EXTEND;
a_auth (1) := ‘Smith’;
a_auth.EXTEND;
a_auth (2) := ‘Jones’;
DBMS_OUTPUT.put_line (a_auth (1) ‘ and ‘ a_auth (2));
END;

第二種方法,從資料庫查出值給array

PROCEDURE p_varray_collection IS
TYPE auth_var IS VARRAY (20) OF author.author_last_name%TYPE;

a_auth auth_var := auth_var ();
indx NUMBER := 1;
BEGIN
FOR r_c1 IN (SELECT author_last_name
FROM author)
LOOP
IF indx < a_auth.LIMIT
THEN
a_auth.EXTEND;
a_auth (a_auth.LAST) := r_c1.author_last_name;
DBMS_OUTPUT.put_line (a_auth (indx));
indx := indx + 1;
END IF;
END LOOP;
END;
**************************************

arrow
arrow
    全站熱搜

    oracleD2K 發表在 痞客邦 留言(0) 人氣()