반응형
PLS-00103: 심볼 "변수"를 만났습니다 다음 중 하나가 기대될 때: . * @ & = - + ; < / > at in is mod remainder not rem <지수(**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || member <작은 따옴표로 묶인 SQL 문자열> submultiset 심볼이 "<작은 따옴표로 묶인 SQL 문자열> 계속하기 위해 "변수" 전에 삽입되었음
PLS-00103 오류는 Oracle PL/SQL에서 매우 흔하게 발생하는 문법 오류 중 하나입니다. 주로 예상치 못한 위치에서 END 키워드가 발견되었을 때 발생하며, 이는 PL/SQL 블록이나 문장의 구조에 문제가 있다는 것을 의미합니다.
오류 발생 원인
- 세미콜론(;) 누락 : 각 문장의 끝에는 세미콜론(;)이 필요합니다. 세미콜론이 누락되면 다음 문장의 시작으로 인식되어 오류가 발생할 수 있습니다.
- END 키워드의 위치 : BEGIN과 END는 블록의 시작과 끝을 나타냅니다. END 키워드의 위치가 잘못되면 블록이 제대로 닫히지 않아 오류가 발생합니다.
- 식별자 누락 : 특정 키워드 뒤에는 식별자(변수명, 객체명 등)가 와야 하는 경우가 있는데, END 키워드가 잘못 사용되면 식별자가 누락된 것으로 인식됩니다.
중첩된 블록 : 블록이 중첩되어 있을 때 BEGIN과 END의 짝이 맞지 않으면 오류가 발생할 수 있습니다.
오류 해결 방법
1. 코드 꼼꼼히 검토
- 각 문장의 끝에 세미콜론(;)이 있는지 확인합니다.
- BEGIN과 END가 올바른 위치에 있는지 확인합니다.
- 식별자가 제대로 선언되고 사용되었는지 확인합니다.
- 중첩된 블록이 있다면 BEGIN과 END가 짝을 이루는지 확인합니다.
2. 디버거 사용
- 디버거를 사용하여 코드를 한 줄씩 실행하며 오류가 발생하는 부분을 찾을 수 있습니다.
3. 오라클 문서 참조
- 오라클 공식 문서에서 PLS-00103 오류에 대한 자세한 설명을 확인할 수 있습니다.
예시
DECLARE
v_number NUMBER := 10;
BEGIN
v_number := v_number + 5; -- 세미콜론 누락
END;
- 오류 메시지 : 오류 메시지에 표시된 줄 번호와 열 번호를 참고하여 오류가 발생한 위치를 파악하는 것이 좋습니다.
- 코드 포맷 : 코드를 가독성 있게 작성하면 오류를 찾기 쉽습니다. 들여쓰기를 사용하여 블록의 구조를 명확하게 나타내는 것이 좋습니다.
- 자주 발생하는 오류 : PLS-00103 오류는 PL/SQL을 처음 배우는 사람들이 자주 겪는 오류 중 하나입니다. 꾸준히 연습하고 경험을 쌓으면 이러한 오류를 줄일 수 있습니다.
반응형
'db > oracle' 카테고리의 다른 글
oracle 버전 확인 하는 방법 (0) | 2025.01.15 |
---|---|
Ora-02391: exceeded simultaneous SESSIONS_PER_USER limit (0) | 2025.01.12 |
ORA-00054: 자원이 사용 중이고 NOWAIT가 지정됨 (Resource Busy and NOWAIT Specified) (0) | 2025.01.11 |
ORA-00060: 데드락 발견 (Deadlock Detected) (0) | 2025.01.11 |
ORA-01031: 권한이 불충분함 (Insufficient Privileges) (0) | 2025.01.11 |