분류 전체보기
-
계층구조 쿼리(Hierarchical Queries) Connect by 계층적 쿼리는 오라클만이 가진 기능 중 하나로, 데이터를 선택하여 계층적인 순서 그대로 리턴하는데 사용된다. (계층형 쿼리라고도 한다) 1. 문법정리 [START WITH condition] CONNECT BY condition START WITH 조건1 - 루트 노드를 식별한다. 조건1을 만족하는 모든 ROW들이 루트노드가 된다. - START WITH는 생략가능한데, 이러한 경우 모든 ROW들이 루트노드가 된다. - 서브쿼리도 올 수 있다. - CONNECT BY 는 부모 계층형 쿼리에서 부모노드와 자식노드 특정한 관계를 나타내는데 사용한다. 부모노드가 되는 쪽에 PRIOR operator 가 반드시 명시 되어야 한다. CONN..
[Oracle] 계층구조 쿼리(Hierarchical Queries), (계층형 쿼리)계층구조 쿼리(Hierarchical Queries) Connect by 계층적 쿼리는 오라클만이 가진 기능 중 하나로, 데이터를 선택하여 계층적인 순서 그대로 리턴하는데 사용된다. (계층형 쿼리라고도 한다) 1. 문법정리 [START WITH condition] CONNECT BY condition START WITH 조건1 - 루트 노드를 식별한다. 조건1을 만족하는 모든 ROW들이 루트노드가 된다. - START WITH는 생략가능한데, 이러한 경우 모든 ROW들이 루트노드가 된다. - 서브쿼리도 올 수 있다. - CONNECT BY 는 부모 계층형 쿼리에서 부모노드와 자식노드 특정한 관계를 나타내는데 사용한다. 부모노드가 되는 쪽에 PRIOR operator 가 반드시 명시 되어야 한다. CONN..
2017.08.30 -
[Oracle] 오라클 날짜함수 (Datetime Functions) 1. SYSDATE 함수 - 시스템의 설정된 날짜 값을 반환한다. 2.ADD_MONTH 함수 - 문법 : ADD_MONTHS( date, integer ) - 지정한 날짜 중 해당 월에 정수를 더한 값을 반환한다. ex) ; SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL; -- 현재월 : 20170809 SELECT TO_CHAR(ADD_MONTHS(SYSDATE, 3), 'YYYYMMDD') FROM DUAL; -- 3개월 더한후 반환 : 20171109 3. LAST_DAY 함수 - 문법 : LAST_DAY(date) - 해당하는 월의 마지막 일을 반환합니다. ex) 이번달 마지막 일자 반환 SE..
[Oracle] 오라클 날짜함수 (Datetime Functions)[Oracle] 오라클 날짜함수 (Datetime Functions) 1. SYSDATE 함수 - 시스템의 설정된 날짜 값을 반환한다. 2.ADD_MONTH 함수 - 문법 : ADD_MONTHS( date, integer ) - 지정한 날짜 중 해당 월에 정수를 더한 값을 반환한다. ex) ; SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL; -- 현재월 : 20170809 SELECT TO_CHAR(ADD_MONTHS(SYSDATE, 3), 'YYYYMMDD') FROM DUAL; -- 3개월 더한후 반환 : 20171109 3. LAST_DAY 함수 - 문법 : LAST_DAY(date) - 해당하는 월의 마지막 일을 반환합니다. ex) 이번달 마지막 일자 반환 SE..
2017.08.30 -
[Oracle] 오라클 피벗(2) - PIVOT, UNPIVOT, (행을 열로, 열을 행으로) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 오라플 피벗, 두번째 ] 입니다. :) 업무를 하다보면 행을 열으로 전환한다던지, 열을 행으로 전환해야하는 업무가 간혹 발생한다. 이때 보통 decode 또는 case when을 통해 행 => 열 전환을 하였을 것이다. 이를 편하게 해결 할 수 있는 기능이 Oracle 11g부터 제공된다. PIVOT - 행을 열로 변환할 때 사용하는 방법으로 기존 GROUP BY 와 집계함수(MAX, SUM 등), DECODE를 사용하는 방법을 대체한다. 코드가 매우 간결 해진다. - PIVOT 절은 GROUP Function 을 포함한 계산식을 정의 하며 FOR 절은 값을 구분할..
[Oracle] 오라클 피벗(2) - PIVOT, UNPIVOT, 행을 열로, 열을 행으로[Oracle] 오라클 피벗(2) - PIVOT, UNPIVOT, (행을 열로, 열을 행으로) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 오라플 피벗, 두번째 ] 입니다. :) 업무를 하다보면 행을 열으로 전환한다던지, 열을 행으로 전환해야하는 업무가 간혹 발생한다. 이때 보통 decode 또는 case when을 통해 행 => 열 전환을 하였을 것이다. 이를 편하게 해결 할 수 있는 기능이 Oracle 11g부터 제공된다. PIVOT - 행을 열로 변환할 때 사용하는 방법으로 기존 GROUP BY 와 집계함수(MAX, SUM 등), DECODE를 사용하는 방법을 대체한다. 코드가 매우 간결 해진다. - PIVOT 절은 GROUP Function 을 포함한 계산식을 정의 하며 FOR 절은 값을 구분할..
2017.08.03 -
[Oracle] 오라클 피벗(1) - LISTAGG, WM_CONCAT 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 오라클 피벗, listagg, wm_concat (피벗, 첫번째) ] 입니다. :) 여러 Row 값을 하나의 컬럼으로 돌려서 가져오고 싶은때가 있다. 이때 , 등 구분자를 통해 가져오는 방법이다. (ex 갓대희, 김동수, 김치맨 )(오라클에서 피벗턴 가능 하다 => 세로정렬을 가로정렬로 전환) 다음과 같은 로그인 히스토리가 있다고 가정하자. ▶ 임시 데이터 생성 WITH TEMPLOGINLOG AS ( SELECT 'MOBILE' AS ID, '갓대희' AS NAME FROM DUAL UNION ALL SELECT 'PC' AS ID, '갓대희' AS NAME FROM DUAL UNION..
[Oracle] 오라클 피벗(1) - LISTAGG, WM_CONCAT[Oracle] 오라클 피벗(1) - LISTAGG, WM_CONCAT 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 오라클 피벗, listagg, wm_concat (피벗, 첫번째) ] 입니다. :) 여러 Row 값을 하나의 컬럼으로 돌려서 가져오고 싶은때가 있다. 이때 , 등 구분자를 통해 가져오는 방법이다. (ex 갓대희, 김동수, 김치맨 )(오라클에서 피벗턴 가능 하다 => 세로정렬을 가로정렬로 전환) 다음과 같은 로그인 히스토리가 있다고 가정하자. ▶ 임시 데이터 생성 WITH TEMPLOGINLOG AS ( SELECT 'MOBILE' AS ID, '갓대희' AS NAME FROM DUAL UNION ALL SELECT 'PC' AS ID, '갓대희' AS NAME FROM DUAL UNION..
2017.07.26 -
[Oracle| 오라클 데이터 복구 (TIMESTAMP) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 오라클 데이터 복구 하기 (delete로 삭제한 건 ) ] 입니다. :) 데이터를 실수로 삭제(delete, truncate는 불가) 하고 commit하였을때 실수로 지운다던지, 복원을 시켜야 한다던지 당황하고 멘붕이 왔던 경험이 많을 것이다. 이때 특정시간 또는 시점으로 되돌릴 수 있는 기능이 Oracle Flashback 기능이다. 이 플래시백 기능을 통해 as of timestamp 구문을 사용하여 삭제 전의 데이터를 조회하여 복구 할 수 있다. ▶ Flashback을 사용할 수 있는 조건 ※ 설정 1. 자동 언두 관리 시스템을 사용해야 합니다. (UNDO_MANAGEMENT 파라미터를 AUTO로..
[Oracle| 오라클 데이터 복구 (TIMESTAMP)[Oracle| 오라클 데이터 복구 (TIMESTAMP) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 오라클 데이터 복구 하기 (delete로 삭제한 건 ) ] 입니다. :) 데이터를 실수로 삭제(delete, truncate는 불가) 하고 commit하였을때 실수로 지운다던지, 복원을 시켜야 한다던지 당황하고 멘붕이 왔던 경험이 많을 것이다. 이때 특정시간 또는 시점으로 되돌릴 수 있는 기능이 Oracle Flashback 기능이다. 이 플래시백 기능을 통해 as of timestamp 구문을 사용하여 삭제 전의 데이터를 조회하여 복구 할 수 있다. ▶ Flashback을 사용할 수 있는 조건 ※ 설정 1. 자동 언두 관리 시스템을 사용해야 합니다. (UNDO_MANAGEMENT 파라미터를 AUTO로..
2017.07.26 -
[Oracle] Delete, Truncate, Drop 비교 구분 테이블 정의 저장공간 작업속도 SQL문 종류 구분 DELETE 존재 유지 느림 DML TRUNCATE 존재 반납 빠름 DDL DROP 삭제 반납 빠름 DDL 테이블의 데이터를 삭제 처리 할때 Delete,Truncate를 이용한다. 눈으로 보기에는 Delete, Truncate와 별도 차이점 없이 둘다 데이터가 삭제 되는 것으로 생각 될 수 도 있지만 Delete,Truncate 각각 처리되는 과정과 결과가 틀린 큰 차이점이 존재 한다. [TRUNCATE 구문] TRUNCATE TABLE [ { database_name.[ schema_name ]. | schema_name . } ] table_name [ ; ] [DELETE 구문] ..
[Oracle] Delete, Truncate, Drop 비교[Oracle] Delete, Truncate, Drop 비교 구분 테이블 정의 저장공간 작업속도 SQL문 종류 구분 DELETE 존재 유지 느림 DML TRUNCATE 존재 반납 빠름 DDL DROP 삭제 반납 빠름 DDL 테이블의 데이터를 삭제 처리 할때 Delete,Truncate를 이용한다. 눈으로 보기에는 Delete, Truncate와 별도 차이점 없이 둘다 데이터가 삭제 되는 것으로 생각 될 수 도 있지만 Delete,Truncate 각각 처리되는 과정과 결과가 틀린 큰 차이점이 존재 한다. [TRUNCATE 구문] TRUNCATE TABLE [ { database_name.[ schema_name ]. | schema_name . } ] table_name [ ; ] [DELETE 구문] ..
2017.07.24