Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 오큘러스
- 심플한 게임
- 골든게이트
- 관광
- 롤
- 독해연습
- Python
- 오라클
- 영어유머
- java program
- 가볼만한곳
- MLBB
- 영어공부
- 게임기
- 왕좌의게임
- 체스-TD
- English Joke
- 영어 유머
- 이솝우화
- 여행
- 임바 오토체스
- 영어독해
- 모바일레전드
- OGGMA
- oracle
- Imba Auto Chess
- 게임
- Mobile Legends
- english study
- Chess-TD
- Today
- Total
Almost-Native
오라클 에러 : PLS-00103: Encountered the symbol when expecting one of the following 본문
Java 프로그램 개발, IT
오라클 에러 : PLS-00103: Encountered the symbol when expecting one of the following
2021. 1. 11. 23:03Oracle PL/SQL 프로그램에서 PLS-00103 에러는 아주 흔하게 만나는 에러입니다.
구문이 틀렸을때 나는 에러로, 뭔가 다른 거를 기대했는데, 이상한걸 만났다는 에러메시지입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
SQL> create or replace function FC_TEST1() return number
2 is
3 v_string varchar2(4000) := '';
4 v_string_len number := 0;
5 v_ret varchar2(51) := '';
6 begin
7 select aa2
8 into v_string
9 from TEST1
10 where aa1 = 1;
11
12 v_string_len := length(v_string);
13
14 return v_string_len;
15 end;
16 /
Warning: Function created with compilation errors.
Elapsed: 00:00:00.01
SQL> show err
Errors for FUNCTION FC_TEST1:
LINE/COL ERROR
-------- -----------------------------------------------------------------
1/19 PLS-00103: Encountered the symbol ")" when expecting one of the
following:
<an identifier> <a double-quoted delimited-identifier>
current delete exists prior
|
cs |
위 함수 생성문은 얼핏보면 틀린게 없는 것처럼 보이지만, 함수 만들때 자주 실수하는 부분입니다.
함수에서 넘겨주는 인자가 없는 경우, C 언어나 Java 에서는 FC_TEST1( ) 처럼 빈괄호( )를 붙여주지만,
PL/SQL 에서는 괄호를 없애야 합니다.
그래서 컴파일러는 기대와는 다르게 느닷없이 심볼 ")" 를 만나서 많이 당황했다는 메시지를 보여주고 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
SQL> create or replace procedure FC_TEST1
2 as
3 begin
4 v_string varchar2(4000) := '';
5 v_string_len number := 0;
6 v_ret varchar2(51) := '';
7
8 select aa2
9 into v_string
10 from TEST1
11 where aa1 = 1;
12
13 v_string_len := length(v_string);
14 end;
15 /
Warning: Procedure created with compilation errors.
Elapsed: 00:00:00.02
SQL> show err
Errors for PROCEDURE FC_TEST1:
LINE/COL ERROR
-------- -----------------------------------------------------------------
4/19 PLS-00103: Encountered the symbol "VARCHAR2" when expecting one
of the following:
:= . ( @ % ;
The symbol ":=" was substituted for "VARCHAR2" to continue.
4/34 PLS-00103: Encountered the symbol "=" when expecting one of the
following:
. ( * % & = - + ; < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset member submultiset
|
cs |
위에서는 변수선언이 begin 위쪽에 있어야 하는데, 잘못 위치를 잡으면서 PLS-00103 에러가 여기저기서 발생했습니다.
'Java 프로그램 개발, IT' 카테고리의 다른 글
윈도우즈10 임시폴더 AppData\Local\Temp 디렉토리 정리 (0) | 2021.01.18 |
---|---|
자바 스윙 프로그래스바 쉽게 구현 방법 - 복잡한 Thread Task 만들지 않고 (SwingWorker) (0) | 2021.01.16 |
자바 스윙 JTable 여러행 선택 (다중 셀 선택) 샘플예제 (0) | 2021.01.11 |
자바 에러 : non-static method cannot be referenced from a static context (0) | 2021.01.11 |
자바 스윙 프레임(Frame) vs 패널(Panel) vs 패인(Pane) 차이 (0) | 2021.01.09 |
Comments