您的位置:首页 > 数据库 > Oracle

ORACLE 存储过程 练习七 数组专题

2013-02-01 21:40 267 查看
写在前面的废话

由于工作需要经常用到 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
)
is
begin
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;


--调用
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));
end loop;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: