계층형 쿼리는 워낙 많이 쓰이고 있고, 프로젝트 개발환경에 따라서 다양한 방법을 사용하고 있으니 그에 따라 적용을 하시면되시구요. 제가 설명드리는건 간단한 개념만 말씀드릴께요. 계층형쿼리를 들어가기전에 LEVEL에 대해서 잘모르시겠으면 아래 포스팅을 참고하세요. 참고 : 오라클 LEVEL 잘 사용하기(가로컬럼을 세로로 변환) 아래쿼리는 간단하게 계층형 쿼리를 만드는 예제입니다. 계층을 만드실려면 일단 구조부터 파악을 하셔야 되는데요. 기본적으로 필요한건 3가지가 있습니다. 첫번째 메뉴의 순번입니다. 핵심적인 부분은 아니지만 정렬해서 목록을 보여줄때 필요한 부분입니다. 넘버링 개념으로 생각하시면 됩니다. 두번째 해당되는 메뉴의 계층이 필요합니다. 상위부서와 하부부서를 구분할 수있게 계층을 나뉘어야 합니다...
오라클을 아무것도 몰랐을때 오라클로 달력을 만드는것을 보고 깜짝놀란 기억이 납니다. 지금도 신기하기만한데 그때는 신선한 충격이었죠. 제 사수가 되시는 분은 오라클로 문서를 만드시더군요. 출력용으로... 아래 내용을 보시기 전에 이해를 돕고자 다른 포스팅을 참고해주세요. LEVEL에 대해서 잘모르시면 내용이 어려울 수도 있습니다. 참고포스팅 : 오라클 LEVEL 잘 사용하기(가로컬럼을 세로로 변환) 달력은 알고보면 정말 쉽게 만들어집니다. 구조를 파악하지 못해서 어려운것이죠. 그럼 세세하게 하나씩 파헤쳐 보겠습니다. 조회되는 화면부터 보시죠. 기준이 되는 월이 있어야 되며 기준월에서 모든게 정해집니다.필요한조건은 아래와 같습니다. 1.해당되는 달의 1일부터 마지막까지의 날짜 2.날에 해당되는 첫번째 주 이..
토드를 처음설치해서 사용할 경우 한가지 불편한점이 있습니다. 테이블 카운터를 해야 될 필요가 있는데, 최대 카운터가 안나온다는 점이죠. 사실 경쟁툴인 SQLGATE의 경우 다양한 편의사항이 존재해서 토드가 소외되고 있는 느낌인데, 옵션을 잘 파고 들면 토드도 편의부분에서 점수를 많이 줄 수 있는 툴이라고 생각이 됩니다. SELECT LEVEL FROM DUAL CONNECT BY LEVEL
오라클에서 LEVEL은 순차적자료를 나열할때 꼭쓰이고 있습니다. 특히 날짜관련 자료를 다룰때 혹은 통계 쿼리에서 많이 사용이 되는데 한번 살펴 보겠습니다. SELECT LEVEL FROM dual CONNECT BY LEVEL
테이블을 생성하고 테스트를 할 경우가 생겨서 자료를 밀어넣다보니 넘버링을 할 필요가 생겼습니다. 데이터값은 아래와 같은 형식이었구요. SEQ PJT_CD PJT_NM VALUE P0001 테스트1 10 P0002 테스트2 20 P0003 테스트3 30 P0004 테스트4 40 P0005 테스트5 50 다른 테이블에 있는 데이터를 밀어넣다보니 시컨스를 따로 잡을 필요가 생기더군요. 약간의 삽질을 좀 했습니다. 간단한 방법을 두고 다른 방법을 찾다보니 잔머리만 늘어나네요. 다른테이블의 값을 셀렉트해서 인서트 하려다보니 넘버링을 제대로 하기가 힘들어서 셀렉트할때 지속적으로 증가되는 값을 넣어보려고 다른 방법을 찾아보려 하였습니다. 우선, SEQ 컬럼이 varchar2 형식이라 MAX값이 제대로 표기가 되지 않..