본문 바로가기
IT/DB

[ORACLE] PL/SQL 에러 PLS-00363 : 프로시저 실행 안 될 때 해결방법

by 스터딩아재 2021. 10. 29.
반응형

 

* PLS-00363은 오라클에서 프로시저(procedure)나 함수(function)를 호출할 때 파라미터에 오류가 있을 때 발생합니다.

 

* 해당 에러는 프로시저에 OUT 변수가 있을 때 발생 할 수 있습니다.

 

 

OUT 변수가 포함된 프로시저 

-- 선언문 ( IN변수 2개, OUT변수 1개 )
CREATE OR REPLACE PROCEDURE FIND_NAME(
  p_birth  IN  VARCHAR2
  p_gender IN  VARCHAR2
  p_name   OUT VARCHAR2
)

-- 호출 시도 중 에러 발생
EXEC FIND_NAME( 'BIRTH' , 'GENDER', 'RESULT' );
-- PLS-00363 : expression 'RESULT' cannot be used as an assignment target

 

* 위 상황에서 OUT을 변수로 호출해야하는데, 임의의 값으로 호출면서 발생하는 에러입니다.

 

 


해결방법

* EXEC로 호출하지 말고, 변수를 선언하고 실행하는 DECLARE로 호출합니다.

DECLARE
	v_Result VARCHAR2(100);
BEGIN
	FIND_NAME('생일', '성별', v_Result); -- PROCEDURE CALL

	DBMS_OUTPUT.PUT_LINE( v_Result ); -- LOG
END;

 

누군가에게 도움이 되셨길
그리드형

댓글