在PL / SQL上获取sys_refcursor的Resultset

时间:2016-05-06 06:36:18

标签: oracle plsql plsqldeveloper

我有一个返回动态SQL查询sys_refcursor的函数,因此该游标会动态返回列。我想在执行我的函数

后查询Cursor的sql
    public class RestaurantsZomato {
            public NearbyRestaurants nearby_restaurants;
            public static class NearbyRestaurants {
                   public List<RestaurantDetails> restaurant;
     }}

它将PL / SQL SQL Windw上的游标作为一列和一行返回。单击三个点后,它返回结果集。如何在不单击任何点的情况下获取结果集。

当我将函数转换为xmltype并通过传递其列并转换为xmltable时,它显示了resultset,但我需要根据传递的参数动态创建列。

Select tryit('MyTable_Name',' condition = conditionParameter and  condition2=Parameter2') retCursor 
from dual

注意:Oracle 11g,PL / SQL Developer 8

1 个答案:

答案 0 :(得分:0)

在SQL Developer中(我假设PL / SQL Developer中有类似内容),您不需要SQL查询来包装该函数;相反,你可以运行一个PL / SQL脚本,它将输出光标:

VARIABLE cur REFCURSOR;

BEGIN
  :cur := tryit(
           'MyTable_Name',
           ' condition = conditionParameter and  condition2=Parameter2'
         );
END;
/

PRINT cur;