该类型在存储过程中声明。
TYPE colletreal_t IS RECORD(
TeminatNo NUMBER(10),
TeminatTutar NUMBER(26, 2),
IpotekTutar NUMBER(26, 2),
TeminatKalanTutar NUMBER(26, 2),
IpotekKalanTutar NUMBER(26, 2),
MunferitTur NUMBER(30),
TeminatTur NUMBER(10),
IpotekMarjOran NUMBER(12, 6),
TeminatTip VARCHAR2(1),
KarsiladigiRisk NUMBER(26, 2));
TYPE colletrealtable_t IS TABLE OF colletreal_t INDEX BY BINARY_INTEGER;
如何将这些类型设置为colletrealtable_t,以便我可以在过程参数中使用它来将复杂数组传输到db中的另一个层。
答案 0 :(得分:0)
您可以创建object
,然后创建对象的type
,然后将该集合用作该过程的out
参数。如何创建object
我留给你。下面是如何创建类型的例子。我创建了一种varchar。您可以创建object
的类型。在示例中,我将一个集合传递给过程并填充其他集合。您可以将传递的参数用作out,并将其用于其他任何地方。
create type var_a is table of varchar2(30000) ;
create or replace procedure collcetion_as_in_out_parmtr (
a_var in var_a,
b_var out var_a)
as
begin
--Assigning the input collection to out collection
b_var := a_var;
end;
执行&输出:
SQL> set serverout on;
SQL> declare
2 var var_a;
3 begin
4
5 collcetion_as_in_out_parmtr(var_a('A','B','C','D','E'),var);
6 dbms_output.put_line('Elements of collection');
7 for i in var.first..var.last
8 loop
9 --displaying elements of collection
10 dbms_output.put_line(var(i));
11 end loop;
12
13 end;
14 /
Elements of collection
A
B
C
D
E
PL/SQL procedure successfully completed.