Database/SQL
Oracle Subquery 서브쿼리를 활용한 반복문
리커니
2013. 5. 28. 20:59
반응형
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;
반응형