Oracle中函数返回数据集

Oracle的函数可以返回数据集,类似于内存表的使用,方法如下:

1、创建表结构对象

/*创建表结构类型 */
CREATE OR REPLACE TYPE JG_TEST_TYPE AS OBJECT ( ID NUMBER, CODE VARCHAR2 (50));

2、定义嵌套表类型

/*创建嵌套表类型*/
CREATE OR REPLACE TYPE JG_TEST_LIST AS TABLE OF JG_TEST_TYPE;

3、创建函数

/*创建函数*/
CREATE OR REPLACE FUNCTION JG_GET_TABLE_TEST
RETURN JG_TEST_LIST PIPELINED IS
/*临时变量*/
v_test_type JG_TEST_TYPE;
v_cnt integer;
BEGIN
  FOR v_cnt in 1..1000 LOOP
      /* 赋值到临时变量中 */
      v_test_type := JG_TEST_TYPE(v_cnt, '第'||v_cnt||'行数据');
      /* 将临时变量放入返回的结果中 */
      PIPE ROW(v_test_type);
  END LOOP;
  /* 返回数据*/
  RETURN ;
END;

4、调用函数

/*调用函数*/
select * from TABLE(JG_GET_TABLE_TEST);

posted @ 2012-08-07 09:53  玻璃城市  阅读(2130)  评论(0编辑  收藏  举报