Oracle PL/SQL 강좌
조건제어(IF) 8 10 99,999+

by 구루비 조건제어 IF [2002.01.20]


IF문 문법

IF문 예제

 
SQL> CREATE OR REPLACE PROCEDURE Dept_Search
        (p_empno IN emp.empno%TYPE )

    IS

        v_deptno emp.deptno%type ;

    BEGIN

        DBMS_OUTPUT.ENABLE;

        SELECT deptno
        INTO v_deptno
        FROM emp
        WHERE empno = p_empno;

        IF v_deptno = 10 THEN

            DBMS_OUTPUT.PUT_LINE( ' ACCOUNTING 부서 사원입니다. ' );

        ELSIF v_deptno = 20 THEN

            DBMS_OUTPUT.PUT_LINE( ' RESEARCH 부서 사원입니다. ' );

        ELSIF v_deptno = 20 THEN

            DBMS_OUTPUT.PUT_LINE( ' SALES 부서 사원입니다. ' );

        ELSIF v_deptno = 20 THEN

            DBMS_OUTPUT.PUT_LINE( ' OPERATIONS 부서 사원입니다. ' );

        ELSE

            DBMS_OUTPUT.PUT_LINE( ' 부서가 이상해요... ' );

        END IF;

    EXCEPTION    
      WHEN   NO_DATA_FOUND  THEN  
        DBMS_OUTPUT.PUT_LINE(' 부서가 없네요... ');

    END ;
    /

 
-- DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용
SQL> SET SERVEROUTPUT ON ; 

-- 프로시저 실행
SQL> EXECUTE Dept_Search(7900);
부서가 없네요...


SQL> EXECUTE Dept_Search(7369);
RESEARCH 부서 사원입니다.
        

- 강좌 URL : http://www.gurubee.net/lecture/1060

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 초보자 [2005.12.21 10:55:20]
부서번호가 틀렸네요..^^ 10,20,30,40 이여~~

by 초보 [2006.04.20 17:21:34]
if문 안에 다른 if문은 안되나요?

by 네레이드 [2007.07.12 19:41:38]
음....잘 배우고 갑니다.^^;

by 디스타임 [2007.11.08 14:48:56]
많은걸 보고 배우네요. 감사합니다.^^

by 김윤경 [2007.11.09 09:55:55]
데이터가 없으면 이렇게 나와요.
1행에 오류:
ORA-01403: 데이터가 없습니다
ORA-06512: "SCOTT.DEPT_SEARCH", 줄 7에서
ORA-06512: 줄 1에서

by 정대희 [2007.11.13 18:18:19]
not data found에 대해서는 exception 처리가 필요하겠네요~

by 무리 [2008.04.29 23:46:24]
갈길은 멀고.

by 파자 [2011.04.06 11:54:21]
파고 파다보면 언제가... 다 할 날이 있겠지요...

by 잠만자 [2012.03.20 20:16:18]
exception 처리문의 출력문장은 "없는 사원입니다."가 더 적당할것 같네요 ^^

by 부쉬맨 [2013.01.04 10:00:04]
마지막 ELSE는 NO DATA의 의미보다는...

명명규칙에 정해져있지않은 사원들에 대한 표시가되는군요...
발령대기자라든지, 전출자라든지, 정리해고대상자라든지...

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