存储过程中的数组

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 06:23   400   0
1.存储过程中如何自定义一个数组,下面这个是最优的
1.1直接调用
DECLARE
TYPE months_varray IS VARRAY(12) OF STRING(9 CHAR);
arr MONTHS_VARRAY :=
months_varray('January','February','March'
,'April','May','June'
,'July','August','September'
,'October','November','December');
TYPE calendar_table IS TABLE OF VARCHAR2(9 CHAR) INDEX BY BINARY_INTEGER;
calendar CALENDAR_TABLE;


begin
for i in arr.first..arr.last loop
DBMS_OUTPUT.PUT_LINE(arr(i));
calendar(i):=arr(i);
end loop;

DBMS_OUTPUT.PUT_LINE('==========');
for i in calendar.first..calendar.last loop
DBMS_OUTPUT.PUT_LINE(calendar(i));
end loop;
end;

1.2生成存储过程,然后被调用
create or replace procedure p_test as
type t_Test is table of varchar2(10);
test t_test:=t_test('A','B','C','D','E','F','G','H','J','K','L');
begin
for i in test.first .. test.last loop
dbms_output.put_line(test(i));
end loop;
end;
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP