寫在前面的廢話
由於工作需要經常用到 oracle儲存過程 其中陣列是不可避免的一組成元素.那麼讓我們來體會一下 oracle儲存過程的陣列到低是如何使用的....
首先陣列是乙個資料型別(type). 需要如下語句進行建立和宣告.
createorreplace type myvarray_list as varray(10) of
varchar2(50)
1 陣列作為過程的輸入引數
createorreplace
procedure
show_list_p(
/*用於顯示陣列
*/p_varlist
inmyvarray_list )
isbegin
for x in
1..p_varlist.count
loop
dbms_output.put_line(
'p_varlist(
'||x||')=
'||p_varlist(x));
endloop;
end;
--呼叫call show_list_p(myvarray_list(
'oracle
','db2
','sql server
','mysql
','dba
'));
2 陣列作為函式的返回值
createorreplace
function output_list_p return
myvarray_list
--pl/sql儲存過程裡呼叫可變陣列作為輸出引數:
aso_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));
endloop;
return
o_data;
end output_list_p;
--呼叫declare
v_list myvarray_list;
v_count
number
;begin
select 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));
endloop;
end;
Oracle 儲存過程練習小樣例
建立更新的儲存過程,輸錯訂單號顯示訂單不存在 create or replace procedure upd shipdate orderid number,shipdate date ise no row exception begin update ord set v shipdate ship...
Oracle儲存過程傳遞陣列引數
今天晚上,和同事聊起oracle儲存過程傳遞陣列引數能否使用資料,之後就在自己的電腦上試試,試了試是可以使用。先要定義乙個型別myvarray list 陣列的長度是10,陣列中存放的資料型別是varchar2。sql create or replace type myvarray list as ...
儲存過程練習
insert into person values 1 zdw zdw test1 insert into person values 2 test test test2 insert into person values 3 admin admin admin3 在儲存過程中使用子查詢 creat...