Sql 从表函数的结果中提取

Sql 从表函数的结果中提取,sql,oracle,function,plsql,Sql,Oracle,Function,Plsql,我使用一个函数和管道它的返回值。 我将上述函数称为: SELECT * FROM TABLE(FUNC(params)) ORDER BY somecolumn; 它以1 x 4表的形式返回结果,我尝试使用游标来检索它们。但是is显示了一个错误,即光标仅用于字段名或列名,而不用于类型 是否仍然可以使用相同的游标,或者是否有其他方法检索单个字段。我想这就是您想要的 SELECT MyTable.Column1, MyTable.Column3, etc FROM TABLE(FUNC(param

我使用一个函数和管道它的返回值。 我将上述函数称为:

SELECT * FROM TABLE(FUNC(params)) ORDER BY somecolumn;
它以1 x 4表的形式返回结果,我尝试使用游标来检索它们。但是is显示了一个错误,即光标仅用于字段名或列名,而不用于类型


是否仍然可以使用相同的游标,或者是否有其他方法检索单个字段。

我想这就是您想要的

SELECT MyTable.Column1, MyTable.Column3, etc
FROM TABLE(FUNC(params)) MyTable
ORDER BY somecolumn;

要访问特定的列,只需在表中添加别名。

只是一个注释……在回答为什么不使用光标时,您(几乎)不应该使用光标。我不确定oracle,所以我也不确定,但这可能有助于澄清func是一个表函数(我的假设?@JustinPihony它确实是一个。好的,你的问题是什么?你到底想做什么…至少我不太清楚…也许一些示例输出或进一步的解释会有用help@JustinPihony:我正在使用一个函数,该函数用作:按somecolumn从表(FUNC(params))中选择*ORDER;(直接)。现在,我需要通过pl sql执行它,然后检索它的每个字段,即输出;它说必须声明MyTable.Column1。