반응형
* 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;
누군가에게 도움이 되셨길
그리드형
'IT > DB' 카테고리의 다른 글
[ORACLE] NULL 값 정렬 (ORDER BY NULLS FIRST OR LAST) (0) | 2021.11.24 |
---|---|
[ORACLE] DB Tool 한글 깨짐 현상 해결 방법(오렌지, Toad 등) (0) | 2021.11.24 |
[ORACLE] MERGE문 무결성 제약조건 위배의 경우 (ORA-00001) (0) | 2021.10.26 |
[ORACLE] 오라클 데이터타입 CHAR와 VARCHAR2의 차이 (0) | 2021.10.26 |
[ORACLE] 오라클 LPAD, RPAD, TRIM, LTRIM, RTRIM (자리 수 채우기/지우기) (0) | 2021.10.26 |
댓글