首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >创建返回表的Oracle函数

创建返回表的Oracle函数
EN

Stack Overflow用户
提问于 2010-05-14 03:58:20
回答 3查看 140.3K关注 0票数 25

我正在尝试在包中创建一个返回表的函数。我希望在包中调用该函数一次,但能够多次重用它的数据。虽然我知道我在Oracle中创建临时表,但我希望让它保持干爽。

到目前为止,我得到的是:

标题:

代码语言:javascript
复制
CREATE OR REPLACE PACKAGE TEST AS 

    TYPE MEASURE_RECORD IS RECORD (
      L4_ID VARCHAR2(50),
      L6_ID VARCHAR2(50),
      L8_ID VARCHAR2(50),
      YEAR NUMBER,
      PERIOD NUMBER,
      VALUE NUMBER
    );

    TYPE MEASURE_TABLE IS TABLE OF MEASURE_RECORD;

    FUNCTION GET_UPS(
      TIMESPAN_IN IN VARCHAR2 DEFAULT 'MONTLHY',
      STARTING_DATE_IN DATE,
      ENDING_DATE_IN DATE  
    ) RETURN MEASURE_TABLE;

END TEST;

正文:

代码语言:javascript
复制
CREATE OR REPLACE PACKAGE BODY TEST AS 

  FUNCTION GET_UPS (
    TIMESPAN_IN IN VARCHAR2 DEFAULT 'MONTLHY',
    STARTING_DATE_IN DATE,
    ENDING_DATE_IN DATE
  ) RETURN MEASURE_TABLE IS

    T MEASURE_TABLE;

  BEGIN

        SELECT  ...
        INTO    T
        FROM    ...

      ;

  RETURN T;

  END GET_UPS;

END TEST;

头文件编译,主体文件不编译。一条错误消息是“值不足”,这可能意味着我应该选择MEASURE_RECORD,而不是MEASURE_TABLE。

我遗漏了什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2829880

复制
相关文章

相似问题

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