如果我想写个oracle函数,返回一个表类型,应该怎么写?能给个例子么?

解决方案 »

  1.   

    返回一个表类型什么表类型:索引表,嵌套表  题意不明
    索引表例子
    CREATE OR REPLACE PACKAGE test01
    AS
    /******************************************************************************
       NAME:       test01
       PURPOSE:   REVISIONS:
       Ver        Date        Author           Description
       ---------  ----------  ---------------  ------------------------------------
       1.0        2007-8-17             1. Created this package.
    ******************************************************************************/   TYPE account_record_type IS RECORD (
          ID     VARCHAR2 (20),
          NAME   VARCHAR2 (20)
       );   TYPE account_table_type IS TABLE OF account_record_type
          INDEX BY BINARY_INTEGER;   FUNCTION b1 (p_t IN OUT account_table_type)
          RETURN integer;
    END test01;
    /CREATE OR REPLACE PACKAGE BODY test01
    AS
    /******************************************************************************
       NAME:       test01
       PURPOSE:   REVISIONS:
       Ver        Date        Author           Description
       ---------  ----------  ---------------  ------------------------------------
       1.0        2007-8-17             1. Created this package.
    ******************************************************************************/
       
       FUNCTION b1 (p_t IN OUT account_table_type)
          RETURN integer
      is
      v_r   account_record_type;
      v_i integer;
      BEGIN      FOR i IN 1 .. p_t.COUNT
          LOOP
             v_r := p_t (i);
             v_r.NAME := v_r.NAME || 'funb1';
     p_t(i):=v_r;
          END LOOP;      RETURN v_i;
       END b1;
    END test01;
    /