寫在前面的廢話
由於工作需要經常用到 ORACLE預存程序 其中數組是不可避免的一組成元素.那麼讓我們來體會一下 ORACLE預存程序的數組到低是如何使用的....
首先數組是一個資料類型(TYPE). 需要如下語句進行建立和聲明.
create or replace type myvarray_list as varray(10) of varchar2(50)
1 數組作為過程的輸入參數
create or replace procedure show_list_P(/*用於顯示數組*/ p_varlist in myvarray_list ) isbegin for x in 1..p_varlist.count loop dbms_output.put_line('p_varlist('||x||')='||p_varlist(x)); end loop; end;
-- 調用 call show_list_P(myvarray_list('Oracle','DB2','Sql Server','mySql','DBA'));
2 數組作為函數的傳回值
create or replace function OUTPUT_list_P return myvarray_list-- PL/SQL預存程序裡調用可變數組作為輸出參數:as o_data myvarray_list:=myvarray_list(); begin for v_count in 1..5 loop o_data.extend; o_data(v_count):= v_count; -- dbms_output.put_line('list('||v_count||')='||o_data(v_count)); end loop; return o_data;end OUTPUT_list_P;
--調用declarev_list myvarray_list;v_count number;beginselect OUTPUT_list_P()into v_list from dual; for v_count in 1 ..v_list.count loop dbms_output.put_line('v_list('||v_count||')='||v_list(v_count)); end loop;end;