사용자 도구

사이트 도구


기술문서:레퍼런스:쿼리:응용:recursive_query

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
기술문서:레퍼런스:쿼리:응용:recursive_query [2025/10/02 15:26]
carlito76
기술문서:레퍼런스:쿼리:응용:recursive_query [2025/11/27 12:05] (현재)
carlito76
줄 11: 줄 11:
  
 ===== 테이블 명세 ===== ===== 테이블 명세 =====
-^  물리명  ^  논리명  ^  타입  ^  KEY  ^ +^  물리명  ^  논리명  ^  타입   길이   KEY  ^ 
-| 코드ID | cd_id | 문자형 | PK | +| 코드ID | cd_id | 문자형 | 100 | PK | 
-| 코드명 | cd_nm | 문자형 | | +| 코드명 | cd_nm | 문자형 | 100 | | 
-| 부모 코드ID | parent_cd_id | 문자형 | | +| 부모 코드ID | parent_cd_id | 문자형 | 100 | | 
-| 정렬 순서 | sort_order | 숫자형 | |+| 정렬 순서 | sort_order | 숫자형 | |
  
 ===== SQL 스크립트 ===== ===== SQL 스크립트 =====
줄 53: 줄 53:
 ===== MySQL/MariaDB ===== ===== MySQL/MariaDB =====
 <sxh sql; gutter: true;> <sxh sql; gutter: true;>
--- MySQL 8.0 이상/MariaDB 10.2.2 이상+/* 
 + MySQL 8.0.1 이상/MariaDB 10.2.2 이상 
 +*/
 WITH RECURSIVE tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth, seq) AS ( WITH RECURSIVE tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth, seq) AS (
  SELECT  SELECT
줄 96: 줄 98:
 ===== MSSQL ===== ===== MSSQL =====
 <sxh sql; gutter: true;> <sxh sql; gutter: true;>
--- MSSQL 2005 이상+/* 
 + MSSQL 2005 이상 
 +*/
 WITH tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth, seq) AS ( WITH tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth, seq) AS (
  SELECT  SELECT
줄 138: 줄 142:
  
 ===== Oracle/Tibero ===== ===== Oracle/Tibero =====
-<sxh sql; gutter: true; highlight: [1486];> +<sxh sql; gutter: true; highlight: [1692];> 
--- Oracle 9i 이상/Tibero 3 이상+/* 
 + Oracle 9i 이상/Tibero 3 이상 
 +*/
 SELECT SELECT
  cd_id  cd_id
줄 158: 줄 164:
 ; ;
  
--- Oracle 11g 이상/Tibero 3 이상+/* 
 + Oracle 11g 이상/Tibero 3 이상 
 +*/
 WITH tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth, seq) AS ( WITH tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth, seq) AS (
  SELECT  SELECT
줄 198: 줄 206:
 ; ;
  
--- Oracle 12c 이상+/* 
 + Oracle 12c 이상 
 +*/
 WITH tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth) AS ( WITH tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth) AS (
  SELECT  SELECT
줄 235: 줄 245:
  
 ===== PostgreSQL ===== ===== PostgreSQL =====
-<sxh sql; gutter: true; highlight: [63];> +<sxh sql; gutter: true; highlight: [67];> 
--- PostgreSQL 8.4 이상+/* 
 + PostgreSQL 8.4 이상 
 +*/
 WITH RECURSIVE tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth, seq) AS ( WITH RECURSIVE tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth, seq) AS (
  SELECT  SELECT
줄 272: 줄 284:
 ; ;
  
--- PostgreSQL 14 이상+/* 
 + PostgreSQL 14 이상 
 +*/
 WITH RECURSIVE tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth) AS ( WITH RECURSIVE tree (cd_id, cd_nm, parent_cd_id, sort_order, cd_lvl, cd_nm_depth) AS (
  SELECT  SELECT