创建自定义类型:
create or replace type fnType is varray(9) of number;
创建函数:
create or replace function test
(dt out dt1)
return dt1
is
result dt1;
temp varchar2(4);
begin
for i in 1..dt.count
loop
for j in 1..i
loop
if(dt(i)<dt(j)) then
begin
temp:=dt(i);
dt(i):=dt(j);
dt(j):=temp;
end;
end if;
end loop;
end loop; for i in 1..dt.count
loop
result(i):=dt(i);
end loop;
return(Result);
end test;
我在调用函数是应该如何传递一个数组参数,能给个例子最好。
create or replace type fnType is varray(9) of number;
创建函数:
create or replace function test
(dt out dt1)
return dt1
is
result dt1;
temp varchar2(4);
begin
for i in 1..dt.count
loop
for j in 1..i
loop
if(dt(i)<dt(j)) then
begin
temp:=dt(i);
dt(i):=dt(j);
dt(j):=temp;
end;
end if;
end loop;
end loop; for i in 1..dt.count
loop
result(i):=dt(i);
end loop;
return(Result);
end test;
我在调用函数是应该如何传递一个数组参数,能给个例子最好。
解决方案 »
- oracle简单语句求助
- Kettle 将DB2中的表导入oracle是遇到的问题!!!
- data guard的备机不能自动APPLY,请问是怎么回事?100分。
- 奇怪的问题,关于ORA-12560,急啊,在线!!!
- 请教用SQL语句写授权问题,在线等!!!
- @@@@@@@@@@@@@@@如何删除已建立的数据连接?
- oracle 10g的ip地址修改以后,http://localhost:1158/em不能访问的问题
- oracle 10g Net Manager 连接问题
- 怎样才可以看到使用wrap加密的存储过程呢?
- 在oracle当中统计连续迟到次数
- 随机合计组合
- 字符串中取数字,所取值分别update
SQL> create or replace type fnType is varray(3) of number;
2 /
Type created
SQL>
SQL> create or replace function test
2 (dt in out fnType)
3 return fnType
4 is
5 result fnType :=fnType(null,null,null);
6 temp varchar2(4);
7 begin
8 for i in 1..dt.count
9 loop
10 for j in 1..i
11 loop
12 if(dt(i)<dt(j)) then
13 begin
14 temp:=dt(i);
15 dt(i):=dt(j);
16 dt(j):=temp;
17 end;
18 end if;
19 end loop;
20 end loop;
21
22 for i in 1..dt.count
23 loop
24 result(i):=dt(i);
25 end loop;
26 return(Result);
27 end test;
28 /
Function created
SQL>
SQL> declare
2 a fnType :=fnType(5,9,4);
3 begin
4 a :=test(a);
5 for i in 1..a.count loop
6 dbms_output.put_line(a(i));
7 end loop;
8 end;
9 /
4
5
9
PL/SQL procedure successfully completed