Database/SQL

Oracle Subquery 서브쿼리를 활용한 반복문

리커니 2013. 5. 28.
반응형

 

Oracle Subquery 서브쿼리를 활용한 반복문

 

* 서브쿼리 SUBQUERY 를 활용한 반복문[PL/SQL]

일반적인 오라클의 FOR 문

 

FOR 변수 IN 시작값..끝값 LOOP
  반복될 이벤트;
END LOOP;

 

서브쿼리를 활용한 FOR 문

 

FOR DATA_ROW IN ( 
                 SELECT문
                ) LOOP  
  반복될 이벤트;
END LOOP;

 

위의 두 FOR문의 차이를 보면 변수가 들어갈 자리에 DATA_ROW가,

시작값과 끝값이 들어갈 자리에 서브쿼리가 들어간 것을 볼 수 있다.

이렇게 되면 서브쿼리를 실행했을 때 조회된 데이터 행 만큼 반복이 되며

FOR문 안에서 DATA_ROW.컬럼명을 사용하여 각 행의 데이터를 사용할 수 있다.

 

*예제

테이블1의 A컬럼을 테이블2의 B컬럼에 INSERT해야 할 경우.

 

FOR DATA_ROW IN ( 
                 SELECT A
                   FROM 테이블1
                 ) LOOP  
  INSERT INTO 테이블2   
              ( B     
               )
      VALUES( 
              DATA_ROW.A
            );
END LOOP;

 

반응형

댓글

💲 추천 글