계층형 쿼리란? 상하 관계를 바탕으로 트리 형태의 구조를 구현하기 위해서 사용 되는 것으로 우리가 흔히 프로그램에서 + 버튼을 눌러서 트리 메뉴를 펼치거나 접거나 할때 사용되는 쿼리 입니다 예) 조직도, 메뉴, BOM, 카테고리 등등 ~ 다양한 DB 에서 지원하고 있으며, 오라클에서는 START WITH ~ CONNECT BY~ 형태로 사용합니다. 기본 개념 (문법의 이해) 1. START WITH ~ 데이터를 연결할때 가장 최상위에 들어갈 데이터를 선택 합니다. 조직도라면 경우 회사를 시작할 것이고, 메뉴의 경우에는 별도의 'ZERO' 형태로 관리 할것입니다. 2. CONNECTED BY ~ 최상위 데이터는 위에서 정했고, 이제 상위(부모), 하위(자식)의 데이터를 무었을 기준으로 결합할것이 지정해야 ..
쿼리 작성시, 컬럼명을 개별적으로 타이핑 하는데 귀차니즘 + 오타가 날때가 있어 이를 조금 더 쉽게 할 수 있는 방법을 공유 합니다. Toad for Oracle 을 기준으로 설명 드립니다. 1. 자동완성 (CTRL+ T) From의 테이블에 Nick을 지정해두고, SELECT 문에서 CTRL+T 를 누를 경우에 관련 컬럼들을 보여 준다. A.을 타이핑하고 CTRL + T 를 누른다면, A 테이블에 관련된 컬럼만 확인 가능하다. 추가를 원하는 컬럼을 선택하면 자동으로 완성 된다. 2. A 테이블의 전체 컬럼을 SELECT 쿼리에 추가 A.을 타이핑하고, CTRL + T 를 누르고, 관련 컬럼들이 팝업된다면, CTRL+A (전체선택) 후 Enter를 누르면 관련 컬럼들이 전부 입력 된다. 3. Query ..
SELECT --1 M01,M02,M03,M04,M05,M06,M07,M08,M09,M10,M11,M12,MT FROM ( SELECT --2 SUM(DECODE(SUBSTR(A.REG_DATE,5,2),'01',1,0)) AS M01, SUM(DECODE(SUBSTR(A.REG_DATE,5,2),'02',1,0)) AS M02, SUM(DECODE(SUBSTR(A.REG_DATE,5,2),'03',1,0)) AS M03, SUM(DECODE(SUBSTR(A.REG_DATE,5,2),'04',1,0)) AS M04, SUM(DECODE(SUBSTR(A.REG_DATE,5,2),'05',1,0)) AS M05, SUM(DECODE(SUBSTR(A.REG_DATE,5,2),'06',1,0)) AS M06, ..
1. NVL 함수 NVL 은 null 값이 발생 할 경우, 그것에 대한 처리를 어떻게 할 것인지 지정하는 함수 이다. NVL("Column A", "Value A"); Column A가 null 경우, Value A가 출력이 되고, 그렇지 않으면, Column A의 원래 값이 출력 된다. WITH test AS (SELECT null AS ColumnA, 'text' AS ColumnB FROM DUAL) SELECT NVL(ColumnA, 'Value1') AS ColumnA ,NVL(ColumnB, 'Value2') AS ColumnB FROM test; --ColumnA 결과 : Value1 --ColumnA 의 null 값이 'Value1' 으로 변경. --ColumnB 결과 : text --Co..
1. 오류 메세지 ORA-12519, TNS:no appropriate service handler found 2. 발생 원인 오라클이 처리 하는 프로세스 수가 적게 설정 되어 발생 되는 오류 입니다. 1) 프로세스 수 확인 쿼리 select * from v$resource_limit where resource_name = 'processes'; --Process 수 확인 2) 프로세스 수량 확인 CURRENT_UTILIZATION, MAX_UTILIZATION이 INITIAL_ALLOCATION(LIMIT_VALUE)를 초과 하거나, 거의 근접했을때 오류가 발생합니다. 3. 해결 방법 alter system set processes=300 scope=spfile; --process=300 이 부분을 조..