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:
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:
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.
精彩评论