반응형
[ORACLE] WITH문을 이용해 가상테이블 만들기
http://www.zetswing.com/bbs/board.php?bo_table=ORACLE_TIP2&wr_id=36
WITH문은 Oracle9i 이상에서 지원됩니다.
원하는 데이타를 조회하여 가상테이블로 만든후 사용하는것입니다.
가상테이블은 메모리에 생성되므로 액세스 속도가 빠르며 조회후에는 자동으로 소멸됩니다.
Oralce의 with문은 속도뿐만 아니라 SQL QUERY문 자체도 많이 간결해졌습니다.
※ 특히 UNION에 똑같은 문장이 계속 들어갈 경우 사용하면 한번만 기술하고 불러쓰면 되므로 문장이 많이 간결해진다.
※ SQL 쿼리내에서 WITH문은 한번만 사용해야 합니다.
기본문법
단일 가상테이블 생성
WITH A AS
(
SELECT SQL QUERY....
)
SELECT * FROM A;
다중 가상테이블 생성
WITH A AS
(
SELECT SQL QUERY....
)
,
B AS
(
SELECT SQL QUERY....
)
SELECT * FROM A
UNION ALL
SELECT * FROM B;
사용예제
WITH TEST1 AS
(
SELECT '111' str FROM DUAL
UNION ALL
SELECT '222' str FROM DUAL
UNION ALL
SELECT '333' str FROM DUAL
UNION ALL
)
SELECT * FROM TEST1;
반응형