반응형
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;
반응형
'Database > SQL' 카테고리의 다른 글
Oracle START WITH CONNECT BY PRIOR 사용법 (3) | 2013.07.25 |
---|---|
Oracle 오라클 날짜 연산 날짜 계산 날짜 포멧 (3) | 2013.07.09 |
Oracle 오라클 CASE문 사용법 CASE WHEN THEN END (0) | 2013.05.24 |
Subquery 서브쿼리사용법, ALL, ANY, IN, EXISTS (3) | 2013.05.23 |
Oracle OUTER JOIN (RIGHT JOIN, LEFT JOIN) 비교 아우터조인 (0) | 2013.05.21 |
댓글