是否可以在Oracle中使用“SELECT * FROM MyFunction()”语法来实现流水线功能?

时间:2015-06-25 13:44:22

标签: oracle pipelined-function

是否可以在不指定TABLE()运算符的情况下调用Oracle Pipelined Function,如下例所示?

SELECT * FROM MyFunction()

由于与SqlServer的兼容性,我不想使用以下内容。

SELECT * FROM TABLE( MyFunction() )

有人可以帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,表函数在Oracle中不是一个好主意,因为它将所有数据加载到内存中,并且不再在查询中使用任何索引。

其次,表函数在SQL Server和&amp ;;中完全不同。甲骨文, 我最好的建议是使用 dynamicSql ,该函数将构建sql字符串并返回它,主程序将执行它,也应该在oracle和sql server中工作。