开心每一天1111
Table( 函数名称() );意思是, 把返回结果集合的函数返回的结果, 以表的形式, 进行返回。下面是一个返回结果集的函数的例子:-- 定义类型CREATE OR REPLACE TYPE MyTable AS OBJECT(A int, B int, C int);/CREATE OR REPLACE TYPE MyTableResult IS TABLE OF MyTable;/ CREATE OR REPLACE FUNCTION getTestTable return MyTableResultIS -- 预期返回结果. return_Result MyTableResult := MyTableResult();BEGIN -- 结果追加一行. return_Result.EXTEND; -- 设置结果内容. return_Result(return_Result.COUNT) := MyTable(A => 1, B=>2, C=>3); -- 结果追加一行. return_Result.EXTEND; -- 设置结果内容. return_Result(return_Result.COUNT) := MyTable(A => 4, B=>5, C=>6); -- 结果追加一行. return_Result.EXTEND; -- 设置结果内容. return_Result(return_Result.COUNT) := MyTable(A => 7, B=>8, C=>9); return return_Result;END getTestTable;/ SQL> SELECT 2 A, B, C 3 FROM 4 table( getTestTable() ); A B C---------- ---------- ---------- 1 2 3 4 5 6 7 8 9 SQL>上面的table( getTestTable() );就是这样的效果。