PL/SQL ELSE IF 구문 질문드립니다. 0 4 9,689

by 스페이드 [PL/SQL] ELSE ELSE IF IF PL/SQL [2015.04.23 10:39:28]


declare
  vInt   number(10) := 0;
  vLogin varchar2(100) := 'admin';
begin
  if( 1=1 ) then
    select 27 into vInt from dual;
  else if ( 1=2 ) then
    select 28 into vInt from dual;
  end if;
end;

 

간단하게 만들어서 테스트해보려고 하는데,

시작부터 에러가 납니다. 이유를 모르겠습니다.

 

'else if ( 1=2 ) then' >> 'else'

이렇게 바꾸면 에러는 사라집니다. 

 

에러 메시지는 다음과 같습니다.

오류 보고 -
ORA-06550: 줄 10, 열4:PLS-00103: 심볼 ";"를 만났습니다 다음 중 하나가 기대될 때: if
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

 

오라클 버전은 11G

쿼리툴은 'SQL DEVLOPER' 사용했습니다.

by 쿼리back [2015.04.23 10:52:41]
-- else if 가 elsif 로 변경되야 합니다. ^^

declare
  vInt   number(10) := 0;
  vLogin varchar2(100) := 'admin';
begin
  if( 1=1 ) then
    select 27 into vInt from dual;
  elsif ( 1=2 ) then
    select 28 into vInt from dual;
  end if;
end;

by 스페이드 [2015.04.23 10:59:19]

아아.. !!!!!!!!!!!!!! 악!!!!!!!!!!!!!!!!!!!! 아으아으으으아아악!!!!!!!!!!!!!!!!!!!

else 가 아니라 els 로 써야되나요 ? ........ 악!!!!!!!!!!!!!!


by 마농 [2015.04.23 11:33:40]

"ELSE" 가 "ELS" 로 바뀌는게 아니구요.

"ELSE IF" 가 "ELSIF" 인거죠.

"ELSE" 단독일때는 그대로 "ELSE" 입니다.


by 스페이드 [2015.04.23 11:55:20]

마농님 항상 감사합니다.

정말 심오한 오라클의 세계네요.. ELSIF 왜 E를 뺐을까요....

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입