2013-03-12 5 views
1

다음 프로그램은 15 번째 줄에 구문 오류가 발생합니다. 오류의 원인을 이해할 수 없습니다.왜 컴파일 오류가 발생합니까?

declare 
value_1 INTEGER(5); 
value_2 INTEGER(5); 
value_3 INTEGER(5); 
value_4 INTEGER(5); 
begin 
value_1 := 20; 
value_2 := 40; 
value_3 := 60; 
value_4 := 80; 
if value_1 > value_2 
then 
    dbms_output.put_line('Value_1 > Value_2'); 
end if; 
elsif value_4 > value_3 # statement 15 
then 
    dbms_output.put_line('Value_4 > Value_3'); 
end if; 
end; 

발생됩니다 오류 :

Error report: 
ORA-06550: line 15, column 9: 
PLS-00103: Encountered the symbol "VALUE_4" when expecting one of the following: 

:= . (@ % ; 
06550. 00000 - "line %s, column %s:\n%s" 
*Cause: Usually a PL/SQL compilation error. 
*Action: 
Error starting at line 1 in command: 
declare 
value_1 INTEGER(5); 
value_2 INTEGER(5); 
value_3 INTEGER(5); 
value_4 INTEGER(5); 
begin 
value_1 := 20; 
value_2 := 40; 
value_3 := 60; 
value_4 := 80; 
if value_1 > value_2 
then 
    dbms_output.put_line('Value_1 > Value_2'); 
end if; 
elsif value_4>value_3 
then 
    dbms_output.put_line('Value_4 > Value_3'); 
end if; 
end; 

Error report: 
ORA-06550: line 15, column 9: 
PLS-00103: Encountered the symbol "VALUE_4" when expecting one of the following: 

:= . (@ % ; 
06550. 00000 - "line %s, column %s:\n%s" 
*Cause: Usually a PL/SQL compilation error. 
*Action: 

가 어떤 오류입니다

? 이 오류를 제거하려면 어떻게해야합니까?

답변

1

내가 볼 수있는 문을 유일한 문제는 추가 end if;

SQL 문

declare 
value_1 INTEGER(5); 
value_2 INTEGER(5); 
value_3 INTEGER(5); 
value_4 INTEGER(5); 
begin 
value_1 := 20; 
value_2 := 40; 
value_3 := 60; 
value_4 := 80; 
if (value_1 > value_2) then 
    dbms_output.put_line('Value_1 > Value_2'); 
elsif (value_4 > value_3) then 
    dbms_output.put_line('Value_4 > Value_3'); 
end if; 
end; 
입니다
0

그것은 일하는 남자입니다 ... '맞나요?

declare 
value_1 INTEGER(5); 
value_2 INTEGER(5); 
value_3 INTEGER(5); 
value_4 INTEGER(5); 
begin 
value_1 := 20; 
value_2 := 40; 
value_3 := 60; 
value_4 := 80; 
if (value_1 > value_2) 
then 
    dbms_output.put_line('Value_1 > Value_2'); 

elsif (value_4 > value_3) 
then 
    dbms_output.put_line('Value_4 > Value_3'); 
end if; 
end; 
/

if 문을 닫고 elsif 문을 다시 열었습니다. 이것은 실수라고 생각합니다.

관련 문제