The PL/SQL VARRAY Collection

15 10 2007

來源:http://www.fast-track.cc/t_easyoracle_pl_sql_varray_collection.htm
原文中有更進階的用法,本篇只列出最簡單的用法
第一種方法,自己傳值給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;
**************************************


管理項目

Information

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料