0

I have a storedProcedure defined as following :

PROCEDURE GetAccessRights(AAccessRights OUT CURSOR_TYPE) AS
BEGIN
  OPEN AAccessRights FOR
    SELECT  AccessRightID, AccessUnitID, AccessObjectID, GrantRights, DenyRights
    FROM    AccessRights;
END;

Then I try to call it from SQL Developer:

DECLARE
  QPZ    DDKPROD.DDK.CURSOR_TYPE;
  ACCESSRIGHTID   AccessRights.ACCESSRIGHTID%TYPE;
  ACCESSUNITID    AccessRights.ACCESSUNITID%TYPE;
  ACCESSOBJECTID  AccessRights.ACCESSOBJECTID%TYPE;
  GRANTRIGHTS     AccessRights.GRANTRIGHTS%TYPE;
  DENYRIGHTS      AccessRights.DENYRIGHTS%TYPE;
BEGIN

  DDK.GETACCESSRIGHTS(qpz);

  LOOP
    FETCH 
      QPZ INTO ACCESSRIGHTID, ACCESSUNITID, ACCESSOBJECTID, GRANTRIGHTS, DENYRIGHTS;
    EXIT 
      WHEN QPZ%NOTFOUND;

    DBMS_OUTPUT.PUT_LINE(ACCESSRIGHTID || '     ' || ACCESSUNITID);
  END LOOP;  

  CLOSE QPZ;

END;

My problem is the only output I get is the following message:

anonymous block completed

There are 80 rows in my AccessRights. why doesn't i get them listed in my loop

Jens Borrisholt
  • 6,174
  • 1
  • 33
  • 67
  • 2
    SQL Developer has a separate tab for DBMS_OUTPUT. Have you checked that tab? (It may be closed or hidden). If the tab is blank check that SERVEROUTPUT is enabled. – APC Dec 11 '18 at 13:55
  • SET SERVEROUTPUT ON; Did the trick. Please promote your comment to an answer then I can close this question – Jens Borrisholt Dec 11 '18 at 14:17

0 Answers0