首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从函数oracle返回varray

从函数oracle返回varray
EN

Stack Overflow用户
提问于 2016-10-07 17:53:23
回答 2查看 10.8K关注 0票数 4

我想从oracle函数返回一个varray,但是我不知道怎么做。到目前为止,这是我尝试过的。

代码语言:javascript
复制
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;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-07 18:02:23

hier是您的函数的正确语法

代码语言:javascript
复制
 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;
/

例如,您可以在匿名plsql块中调用该函数

代码语言:javascript
复制
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;
/
票数 7
EN

Stack Overflow用户

发布于 2016-10-07 18:34:46

不需要在SQL作用域中声明过程;可以将其声明为nested sub-program in an anonymous PL/SQL block

代码语言:javascript
复制
SET SERVEROUTPUT ON;

DECLARE
  TYPE array_t IS VARRAY(2) OF NUMBER;

  data array_t;

  FUNCTION func RETURN array_t IS BEGIN RETURN array_t( 3, 20 ); END func;
BEGIN
  data := func();
  DBMS_OUTPUT.PUT_LINE( '(' || data(1) || ', ' || data(2) || ')' );
END;
/
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39914402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档