제5 외국어 영역2007.12.12 11:39

오늘은 2007년11월8일....

입동..(겨울의 시작..)


근디 낮온도는 20도란다..

무신놈의 겨울 온도가 20도나 되는지..헐..~~


오라클의 SYS_CONNECT_BY_PATH 함수를 잘 사용하면

자기참조 형태의 테이블을 아주 이쁘게 표현 할 수 있다.


예를 들어..


Create Table TEST

(

  KEY_ID VARCHAR(10) NULL,

  UP_KEY_ID VARCHAR(10) NULL,

  KEY_NAME VARCHAR(10) NULL

)

이라는 테이블에 아래와 같은 데이터가 들어있다고가정한다면..


KEY_ID, UP_KEY_ID, KEY_NAME

1, 0, 첫번째상위

2, 1, 두번째상위

3, 2, 세번째상위

4, 1, 두번째중간상위


요걸 이쁘게(?) 추출하는 방법으로 SYS_CONNECT_BY_PATH를 쓴다.

명확히 이야기 하믄 전체 full path를 표현하는 것이겠지..


ELECT SYS_CONNECT_BY_PATH (KEY_NAME, '=>') AS full_name
FROM  TEST
START WITH KEY_ID is NOT NULL

CONNECT BY PRIOR KEY_ID = UP_KEY_ID


그럼 데이터는 아마도 이렇게 나올것이다.


=> 첫번째상위

=> 첫번째상위=>두번째상위

=> 첫번째상위=>두번째상위=>세번째상위

=> 첫번째상위=>두번째중간상위


대충 이해는 되셨겟지롱...^^


생각보다 많이 쓰는 함수이고, Tree Node 구현시 꼭 필요한 함수이니..

자주자주 쳐다보시길.. ^^


2007.11 About.K

Posted by is윤군
TAG