Pra*_*kar 2 sql oracle plsql oracle11g
我想从oracle函数返回一个varray,但是我不知道该怎么做。到目前为止,这是我尝试过的。
set serveroutput on;
declare
type array_t is varray(2) of number;
CREATE OR REPLACE FUNCTION func() return array_t
begin
array array_t :=array_t(0,0);
array(1):=3;
array(2):=20;
return array;
end;
Run Code Online (Sandbox Code Playgroud)
hier是您函数的正确语法
create type array_t is varray(2) of number;
/
CREATE OR REPLACE FUNCTION func return array_t
IS
v_array array_t;
begin
v_array :=array_t(0,0);
v_array(1):=3;
v_array(2):=20;
return v_array;
end;
/
Run Code Online (Sandbox Code Playgroud)
您可以例如在匿名plsql块中调用该函数
declare
v_func_result array_t;
begin
v_func_result := func();
dbms_output.put_line(v_func_result(1));
dbms_output.put_line(v_func_result(2));
end;
/
Run Code Online (Sandbox Code Playgroud)