5.1.1 FOR LOOP

출처 http://www.gurubee.net/lecture/1056

FOR LOOP 문법

  • – index 는 자동 선언되는 binary_integer형 변수이고, 1씩 증가 한다.
  • – reverse 옵션이 사용 될 경우 index 는 upper_bound에서 lower_bound로 1씩 감소 한다.
  • – IN 다음에는 coursor나 select 문이 올 수 있다.

FOR LOOP 예제

 
    DECLARE

    -- 사원 이름을 출력하기 위한 PL/SQL 테이블 선언 
    TYPE ename_table IS TABLE OF emp.ename%TYPE
    INDEX BY BINARY_INTEGER;
	
    -- 사원 급여를 출력하기 위한 PL/SQL 테이블 선언 
    TYPE sal_table IS TABLE OF emp.sal%TYPE
    INDEX BY BINARY_INTEGER;
	
    ename_tab    ename_table;
    sal_tab      sal_table;
	
    i BINARY_INTEGER := 0;

BEGIN

    DBMS_OUTPUT.ENABLE;
	
    FOR emp_list IN  (SELECT ename, sal 
	                  FROM emp 
	                  WHERE deptno = 10) LOOP
	
        i := i +1 ;
	
        -- 테이블에 상품 이름을 저장
        ename_tab(i) := emp_list.ename;
	        
        -- 테이블에 상품 가격을 저장 
        sal_tab(i)   := emp_list.sal;        
	
    END LOOP;
	
    --  화면에 출력
    FOR cnt IN  1..i   LOOP  
	
        DBMS_OUTPUT.PUT_LINE('사원이름 : ' || ename_tab(cnt)); 
        DBMS_OUTPUT.PUT_LINE('사원급여 : ' || sal_tab(cnt));
	
    END LOOP;

END;
/ 

사원이름 : CLARK
사원급여 : 2450
사원이름 : KING
사원급여 : 5000
사원이름 : MILLER
사원급여 : 1300

        

답글 남기기 0

Your email address will not be published. Required fields are marked *