QUESTION POSED ON: 14 May 2008
I read your answer on calling the stored procedure from another procedure. On the base of this, I want to call another procedure, which has some cursor (output) parameters. The way I am doing it is as follows:
CREATE OR REPLACE PROCEDURE DEVELOPER.SPGETPORTLETSANDINSTANCES(
USERID IN NUMBER,
CR_PORTLETS OUT SYS_REFCURSOR ,
CR_PORTLETINSTANCES OUT SYS_REFCURSOR
)
AS
BEGIN
DEVELOPER.SPGETPORTLETS(CR_PORTLETS);
DEVELOPER.SPGETPORTLETINSTANCES(USERID, CR_PORTLETINSTANCES);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END SPGETPORTLETSANDINSTANCES;
/
When I run this procedure, it gives the following procedure:
ORA-00604: error occurred at recursive SQL level 1
ORA-01001: invalid cursor
Can you tell me what the problem with this is?
|