반응형




[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;

 




반응형
Posted by 공간사랑
,