ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PL/SQL IF문, CASE문 FOR LOOP문
    SQL/PL. SQL 2020. 2. 24. 04:02

    PL/SQL  

     

    IF문 (조건 제어문)

     

    SYNTAXS

    IF 조건문 THEN
    
          실행문;
          
     ELSIF 조건문 THEN
     
          실행문;
          
     ELSE
     
          실행문;
          
     END IF

     

    실습

    declare
    
        p NUMBER(2) := 2; -- 변수 선언과 동시에 값을 대입
        
    begin
    
        if p = 1 then
        
            dbms_output.put_line('1입니다');
            
        elsif p = 2 then
        
            DBMS_OUTPUT.PUT_LINE('2입니다');
            
        else
        
            DBMS_OUTPUT.PUT_LINE('알려지지 않았습니다');
            
        end if;
        
    end;
    /

     


    CASE문

     

    SYNTAXS

    case expression
    
         when value then
         
             실행문;
             
         when value then
         
             실행문;
             
         else
         
             실행문;
             
     end case;

     

    실습

    declare
    
        p NUMBER(2) := 2;
        
    begin
    
        case p
        
            when 1 then
            
                dbms_output.put_line('1입니다');
                
            when 2 then
            
                dbms_output.put_line('2입니다');
                
            else
            
                dbms_output.put_line('모르는 값입니다');
                
        end case;
        
    end;
    /

     

    * WHEN =을 사용해도 됌 THEN

    declare
    
        p NUMBER(1) := 2;
        
    begin
    
        case 
        
            when p = 1 then
            
                dbms_output.put_line('1입니다');
                
            when p = 2 then
            
                dbms_output.put_line('2입니다');
                
            else
            
                dbms_output.put_line('모르는 값입니다');
                
        end case;
        
    end;
    /

     

     


    FOR LOOP문

     

    SYNTAXS

    FOR 루프 변수 / 인덱스 변수 IN [REVERSE] 시작값..종료값 LOOP
    
        반복할 로직
        
    END LOOP
    

     

    실습

     

    - 1부터 5까지 FOR LOOP 반복물을 이용하여 숫자 출력

     

    declare
    
    begin
    
        for i in 1..5 loop
        
            dbms_output.put_line(i);
            
        end loop;
        
    end;
    /
    

     

     

    - 2~9단 구구단 출력

    declare
    
    begin
    
        for i in 2..9 loop
        
            for j in 1..9 loop
            
                dbms_output.put_line(i || ' * ' || j || ' = ' || i*j);
                
            end loop;
            
            dbms_output.put_line(' ');
            
        end loop;
        
    end;
    /

     


    While LOOP문

     

    SYNTAXS

    while loop 문법
    
    while 조건 loop
    
          반복 실행할 로직;
          
    end loop;
    

     

    실습

    declare
    
        i number := 0;
        
    begin
    
        while i <= 5 loop
        
            dbms_output.put_line(i);
            
            i := i+1;
            
        end loop;
        
    end;
    /

     


    LOOP문

     

    SYNTAXS

    loop
    
         반복실행할 문자;
         
         exit 조건;
         
    end loop;
    

     

    실습

    declare
    
        i number := 0;
        
    begin
    
        loop
        
            dbms_output.put_line(i);
            
            exit when i > 4;
            
            i := i + 1;
            
        end loop;
        
    end;
    /

    'SQL > PL. SQL' 카테고리의 다른 글

    PL/SQL 예외처리(EXCEPTION)  (0) 2020.02.25
    PL/SQL 날짜에 따른 애음주기 쿼리 조회 실습  (0) 2020.02.25
    커서 ( Cursor )  (0) 2020.02.24
    PL/SQL 실습  (0) 2020.02.23
    PL/SQL  (0) 2020.02.23

    댓글

Designed by Tistory.