오라클 패키지 실행이 안됩니다... 0 2 1,265

by GRIZZ [PL/SQL] [2018.03.08 17:48:40]


현재 상황은 프로시저로 조회가 되던 것을 패키지로 변경하면서 조회가 되지 않습니다. (spring 사용)

패키지 명 :  B_GET 
프로시저명: TR_LVL_LST

아래와 같은 프로시저를 toad 에서
execute를 사용해서 실행해봤습니다.


/* 에러 내용 */
ORA-06550: 줄 1, 열7:PLS-00306: 'TR_LVL_LST' 호출 시 인수의 갯수나 유형이 잘못되었습니다
ORA-06550: 줄 1, 열7:PL/SQL: Statement ignored

라는 내용의 에러를 뱉어내는데 접근법을 잘 모르겠습니다. 
검색을 통해서 이리저리 해봐도 기본적인 실행이 안되니....뭔가를 해볼수가 없는 상황에 처해있습니다...




PROCEDURE TR_LVL_LST
    ( IN_PAGE        IN NUMBER   
    , IN_COUNT       IN NUMBER   
    , OUT_REP_CODE  OUT VARCHAR2
    , OUT_CURSOR    OUT SYS_REFCURSOR
    )
    IS
        V_PAGE   NUMBER := IN_PAGE;
        V_COUNT  NUMBER := IN_COUNT;
    BEGIN
        DBMS_APPLICATION_INFO.SET_MODULE('B_GET.TR_LVL_LST', '');

        /* 기본값 설정 */
        OUT_REP_CODE := '0000';

        /* 커서 설정 */
        OPEN OUT_CURSOR FOR
        SELECT /*+ B_GET.TR_LVL_LST */
               TL_LEVEL  
             , TL_VOLUME 
             , TL_M_FEE  
             , TL_T_FEE  
          FROM (
                SELECT ROWNUM AS RN
                     , TL_LEVEL
                     , TL_VOLUME
                     , TL_M_FEE
                     , TL_T_FEE
                  FROM (
                        SELECT COUNT(*) OVER() AS CNT
                             , TL_LEVEL
                             , CAST( REPLACE(TL_VOLUME, 99999999999999999, 50000000000) AS NUMBER ) AS TL_VOLUME
                             , TL_M_FEE
                             , TL_T_FEE
                          FROM TRADE_LEVEL
                         ORDER BY TL_LEVEL
                       ) TL
                 WHERE ROWNUM <= V_PAGE * V_COUNT
               ) TL
         WHERE TL.RN >= (V_PAGE - 1) * V_COUNT + 1
        ;

        /* 예외처리 */
        EXCEPTION
            WHEN OTHERS THEN OUT_REP_CODE := '[ORA'||SQLCODE||']['||SQLERRM||']';
    END TR_LVL_LST;

 

by 신이만든지기 [2018.03.09 10:11:15]

토드에서 아래 명령어를 F9로 실행시키고

exec  B_GET.TR_LVL_LST ( :IN_PAGE, :IN_COUNT, :OUT_REP_CODE, :OUT_CURSOR );

OUT_CURSOR의 type를 cursor 로 설정하시고 돌리시면 정상적으로 돌아갈 겁니다.

 


by GRIZZ [2018.03.09 16:19:56]

감사합니다!!!
오전에 답변주신걸 다른 업무때문에 이제서야 확인하고 실행해봤습니다!!!

감사합니다~~~~~~~~~~~~~~~~~~~~~!!!!!
불금 + 즐거운 주말 + 로또 당첨까지 복받으세요!! 감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입