728x90
반응형
728x170
■ START WITH ~ CONNECT BY PRIOR 절을 사용해 재귀 호출하는 방법을 보여준다.
▶ 예제 코드 (SQL)
CREATE TABLE MENU
(
ID INT
,PARENT_ID INT
,NAME VARCHAR(50)
);
INSERT INTO MENU VALUES (1, 0, '메뉴1');
INSERT INTO MENU VALUES (2, 0, '메뉴2');
INSERT INTO MENU VALUES (3, 1, '메뉴3');
INSERT INTO MENU VALUES (4, 1, '메뉴4');
INSERT INTO MENU VALUES (5, 1, '메뉴5');
INSERT INTO MENU VALUES (6, 5, '메뉴6');
INSERT INTO MENU VALUES (7, 2, '메뉴7');
INSERT INTO MENU VALUES (8, 2, '메뉴8');
SELECT LPAD(' ', 2 * (LEVEL - 1)) || NAME AS NAME
FROM MENU
START WITH PARENT_ID = 0
CONNECT BY PRIOR ID = PARENT_ID;
728x90
반응형
그리드형(광고전용)
'Database > Oracle' 카테고리의 다른 글
[DATABASE/ORACLE] 한달 분량의 행 구하기 (0) | 2017.10.27 |
---|---|
[DATABASE/ORACLE] 해당 월의 마지막 날짜 구하기 (0) | 2017.10.27 |
[DATABASE/ORACLE] 해당 월의 첫번째 날짜 구하기 (0) | 2017.10.27 |
[DATABASE/ORACLE] 해당 월 달력 조회하기 (0) | 2015.07.26 |
[DATABASE/ORACLE] 임시 테이블 생성하기 (0) | 2015.07.25 |
[DATABASE/ORACLE] 사용자별 객체 보유 현황 조회하기 (0) | 2015.06.07 |
[DATABASE/ORACLE] 사용자 정보 조회하기 (0) | 2015.06.07 |
[DATABASE/ORACLE] 임시 테이블 스페이스 조회하기 (0) | 2015.06.05 |
[DATABASE/ORACLE] 데이터 파일 조회하기 (0) | 2015.06.05 |
[DATABASE/ORACLE] 테이블 스페이스 조회하기 (0) | 2015.06.05 |
댓글을 달아 주세요