Oracle Database
WITH 절을 사용하는 재귀 적 하위 쿼리 (AKA 공통 테이블 식)
수색…
비고
재귀 하위 쿼리 인수 분해는 Oracle 11g R2에서 사용할 수 있습니다.
단순 정수 생성기
검색어 :
WITH generator ( value ) AS (
SELECT 1 FROM DUAL
UNION ALL
SELECT value + 1
FROM generator
WHERE value < 10
)
SELECT value
FROM generator;
출력 :
VALUE
-----
1
2
3
4
5
6
7
8
9
10
구분 된 문자열 분리
샘플 데이터 :
CREATE TABLE table_name ( value VARCHAR2(50) );
INSERT INTO table_name ( value ) VALUES ( 'A,B,C,D,E' );
검색어 :
WITH items ( list, item, lvl ) AS (
SELECT value,
REGEXP_SUBSTR( value, '[^,]+', 1, 1 ),
1
FROM table_name
UNION ALL
SELECT value,
REGEXP_SUBSTR( value, '[^,]+', 1, lvl + 1 ),
lvl + 1
FROM items
WHERE lvl < REGEXP_COUNT( value, '[^,]+' )
)
SELECT * FROM items;
출력 :
LIST ITEM LVL
--------- ---- ---
A,B,C,D,E A 1
A,B,C,D,E B 2
A,B,C,D,E C 3
A,B,C,D,E D 4
A,B,C,D,E E 5
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow