Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Oracle SQL Developer: Show REFCURSOR Results in Grid?

As a follow-up to the question "Get resultset from oracle stored procedure", is there a way to show the results of a stored procedure that returns a REFCURSOR in a grid (instead of the plain text Script Output window) within SQL Developer?

EDIT: The answer helped, but I'm still having a problem displaying the result set in the "View Value" window:

alt text

The columns can only be expanded a small amount, probably due to the number of results being returned. Expanding the window with the resizer control doesn't help:

alt text

like image 825
technomalogical Avatar asked Aug 24 '10 12:08

technomalogical


1 Answers

I don't think you can with a procedure.

Edit: Thanks to DCookie for simplifying my original answer.

But as a work-around you can write a function that calls the procedure and then invoke that using SQL.

e.g.

create or replace function callmyproc
return sys_refcursor
IS
   rc   sys_refcursor;
BEGIN

   myproc(rc);

   return rc;

END;

Which you can then call with:

   select callmyproc()
   from dual;

When this example is run, the SQL Developer data grid shows one result but if you scroll right and click on the edit button, you will see the results in a grid.

like image 51
Ian Carpenter Avatar answered Sep 20 '22 22:09

Ian Carpenter