【发布时间】:2016-05-06 17:41:49
【问题描述】:
我有一个返回动态 SQL 查询 sys_refcursor 的函数,因此该游标动态返回列。我想在执行我的函数后查询 Cursor 的 sql
Select tryit('MyTable_Name',' condition = conditionParameter and condition2=Parameter2') retCursor
from dual
它以一列一行的形式返回 PL/SQL SQL Windw 上的游标。单击三个点后,它返回结果集。如何在不单击任何点的情况下获得结果集。
当我将函数转换为 xmltype 并将其列传递并转换为 xmltable 时,它会显示结果集,但我需要根据传递的参数动态创建列。
Select * from xmltable('/ROWSET/ROW'
PASSING xmltype(tryit('MyTable_Name','condition = conditionParameter and condition2=Parameter2'))
columns
Col1 PATH 'Col1',
Col2 PATH 'Col2',
Col3 PATH 'Col3' ,
Col4 PATH 'Col4')
注:Oracle 11g、PL/SQL Developer 8
【问题讨论】:
-
引用游标是传递给客户端应用程序的指针。应用程序负责处理结果集。 PL/SQL Developer 是一个开发者的工具(线索就在名字里)。所以获取和显示引用光标需要手动操作。
标签: oracle plsql plsqldeveloper