Type Table 类型返回表格案例
不使用临时表,可以使用 Type Table 类型的函数用来实现返回特定表结构的数据。
1.创建 TYPE
CREATE OR REPLACE TYPE PIP_TYPE AS OBJECT (
ID varchar(20) ,
NAME varchar(20)
);
2.创建 TPE TABLE 类型
CREATE OR REPLACE TYPE PIP_TYPE_TABLE AS TABLE OF PIP_TYPE;
3.创建存储过程
CREATE OR REPLACE FUNCTION PIP_FUNC
RETURN PIP_TYPE_TABLE PIPELINED
IS
PRAGMA AUTONOMOUS_TRANSACTION;
out_rec PIP_TYPE := PIP_TYPE(NULL,NULL);
ID NUMBER := 1;
BEGIN
LOOP
EXIT WHEN ID = 100;
out_rec.ID := ID;
out_rec.NAME := 'Sevattal' || ID;
ID := ID + 1;
PIPE ROW(out_rec);
END LOOP;
RETURN;
END;
4.查询方式
SELECT * FROM TABLE(PIP_FUNC())