ORACLE 儲存過程 練習七 陣列專題

2022-03-10 20:17:13 字數 1569 閱讀 8799

寫在前面的廢話

由於工作需要經常用到 oracle儲存過程 其中陣列是不可避免的一組成元素.那麼讓我們來體會一下 oracle儲存過程的陣列到低是如何使用的....

首先陣列是乙個資料型別(type). 需要如下語句進行建立和宣告.

create

orreplace type myvarray_list as varray(10) of

varchar2(50)

1 陣列作為過程的輸入引數

create

orreplace

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 陣列作為函式的返回值

create

orreplace

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...