Searched by NAVER

알티베이스강좌  :  큐브리드강좌  :  오라클강좌  :  오라클팁  :  오라클사용자팁  :  Oracle Blogs  :  오라클Q&A  :  오라클자료실  :  IT컬럼/소식  :  좋은글감동  :  방명록
Oracle 질문과 답변 oracleclub.com
프로시저에서 패키지에 있는 프로시저 호출 질문입니다.
손님 : 2009-09-21 10:44  
분류 : PL/SQL 주소복사

아래는 MAIN 프로시저에서 PACKAGE에 생성되어 있는 프로시저를 호출하는 방법입니다.

============================================================

create or replace procedure MAIN is

errorCD varchar2(500);

errorMsg varchar2(500);

begin

    execute immediate [PACKAGE_NAME].[SUB_PROCEDURE_NAME]( errorCD, errorMsg);

end MAIN;/

--------------------------------------------------------------------------------------------------

create or replace package PACKAGE_NAME

as

    procedure SUB_PROCEDURE_NAME(

        errorCD OUT varchar2

       ,errorMsg OUT varchar2

    );

end PACKAGE_NAME;/

--------------------------------------------------------------------------------------------------

create or replace package body PACKAGE_NAME

as

    procedure SUB_PROCEDURE_NAME(

        errorCD  OUT varchar2

       ,errorMsg OUT varchar2

    ) IS

    begin

        insert into tmp_table

        as

        select * from dual;

    end SUB_PROCEDURE_NAME;

end PACKAGE_NAME;/

============================================================

위와 같이 프로시저와 패키지를 생성하고

MAIN 프로시저를 컴파일하면

PLS-00222: ’SUB_PROCEDURE_NAME’라는 이름의 함수는 범위 내에 존재하지 않습니다.

라는 Oracle Error가 납니다.

생소한 에러 메시지여서 어떻게 대처해야 할지 난감하네요.

에러가 나는 원인은 무엇이며

프로시저에서 패키지의 프로시저를 호출하는 방법을 알고 싶습니다.

조회수 2150,  추천수 0
글 등 록 글 답 변 글 수 정 목록보기
※ 로그인하여 작성한 글만 삭제할 수 있습니다. 로그인
이름 쓰기
도움 주시는 곳