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);