ORA-06550 에러는 PL/SQL 스크립트에서 에러가 난 줄(Line)과 열(Column) 위치정보를 알려주는 부가적인 에러입니다.
ORA-06550 에러가 나는 경우, 반드시 진짜 에러원인을 나타내는 에러가 함께 표시됩니다.
PLS-00363 에러는 Oracle 에서 Procedure 나 Function 호출할때 인자(Parameter)를 잘못 준 경우에 발생합니다.
위에서는 AAA() 프로시져를 호출하였는데, 이때 100 이라는 값을 인자로 넘겨줬습니다.
하지만, AAA 프로시져는 아래와 같은 소스로 되어 있고, 인자가 in 속성이 아니고, out 속성으로 되어있습니다.
Oracle PL/SQL 에서 Procedure 나 Function 에 넘겨주는 인자(파라메타)는 in/out 속성이 있어서 in 인 경우에는 프로시져안으로 값을 넘겨주고, out 인 경우에는 프로시져에서 밖으로 값을 리턴하게 됩니다.
따라서 A1 인자는 out 으로 설정되어 있기 때문에 100 이라는 숫자상수를 넘겨주면 값을 리턴받을수 없어서 PLS_00363 에러가 발생한 것입니다.
이런 경우에는 아래와 같이 값을 넘겨받을 변수를 먼저 선언해주고 그 변수를 인자로 넣어주면 됩니다.
변수 선언할때 SQL*Plus 에서 variable 이라는 커맨드를 사용하면 됩니다.
리턴받을 값을 출력할 때는 print 커맨드를 사용하면 리턴된 값을 볼 수 있습니다.
ORA-06550, PLS-00363 은 영어환경에서 표시되는 에러메시지는 아래와 같습니다.
ORA-06550: line 1, column 11:
PLS-00363: expression '100' cannot be used as an assignment target
'IT관련' 카테고리의 다른 글
오라클DB 패스워드 없이 로그인하는 방법 (전자지갑 wallet 이용) (0) | 2020.04.03 |
---|---|
오라클 Big Data SQL 로 Oracle DB 내에서 하둡내의 빅데이터 쉽게 접근하는 샘플 (0) | 2020.03.22 |
오라클 에러메시지 영어로 한글로 표시방식 변경하는 방법 (NLS_LANG) (2) | 2020.02.19 |
오라클 에러 정보 (ORA-06550, PLS-00382) - PL/SQL 에러 "식이 잘못된 유형입니다" (0) | 2020.02.19 |
VirtualBox 에서 에러 - Could not find an open hard disk with UUID (VBOX_E_OBJECT_NOT_FOUND) (0x80BB0001) (2) | 2020.02.04 |