소리소문 없이... 사랑도 명예도 이름도 남김 없이...
DexCore.net

DataBase 261

오라클 SQL 레코드를 XML로 변환해주는 FUNCTION (오라클 xml 사용법 등)

MS-SQL의 SELECT ..... FOR XML AUTO 에 상응하는 오라클의 기능을 알아보도록하죠.이게 무슨기능이냐구요? 바로 SQL 쿼리에 의해 반환된 레코드 집합을 XML로 표현하는겁니다. 요즘 프레임워크 설정부터 , 어플리케이션 인프라 Configuration , 웹서비스는 물론, Ajax,flex 등의 web rich client 등등..XML의 사용빈도는 점점 증가 하고 있습니다.이 시점에서 오라클에서 제공하는 XML 지원 패키지에 대해 알아보는 시간을 갖도록하죠.  시작)SELECT 절에 의해 생성된 레코드를 Java 나 pro* c , .net 등의 미들 tier 에서 별도의 XML파싱 작업을 하지않고, 오라클에서 제공하는 패키지를 이용하여 손쉽게 XML으로 표현할수 있다. 9i와 10..

DataBase/Oracle 2012.05.31

Table Function

업무를 수행하다 보면 Result Set 전체를 인자 값으로 받아서 결과를 Return하고자 하는 경우가 종종 있다. 이때 Oracle Table Function을 사용하면 이를 간단히 해결할 수 있다. Oracle Table Function은 Result Set(Multi column + Multi Row)의 형태를 인자 값으로 받아들여 값을 Return할 수 있는 PL/SQL Function이고, Pipelined Table Function은 Oracle Table Function과 마찬가지로 Result Set의 형태로 인자 값을 제공하거나 전체 집합을 한번에 처리하지 않고 Row 단위로 한 건씩 처리하는 Function으로 PL/SQL의 부분범위 처리를 가능하게 해주는 Function이다. 그럼 ..

DataBase/Oracle 2012.05.22

임시테이블

임시 테이블을 생성하되 duration은 transaction단위로 한다는 것을 기억해야 합니다. 아래의 순서를 따라 하시면 임시 테이블을 만드실 수 있습니다. [출처] [Oracle] 임시테이블 사용하기|작성자 구미지엔 1. 임시 테이블생성 SQL> create global temporary table temp_tab (col1 number, col2 char(15)) on commit delete rows ; --> on commit delete rows 를 잘 기억해 두세요. [Commit 을 하면 삭제작업을 하는것으로 설정한다는 말입니다.] 2. 임시 테이블에 인덱스 만들기 SQL> create index temp_tab_n1 on temp_tab(col1); 3. 임시 테이블에 데이터 인서트 S..

DataBase/Oracle 2012.05.22

Oracel With 구문...

오라클에서 제공하는 기능중 하나인 WITH 문법을 아시나요? 정말이지 이런 문법을 알게 되고 나서의 오라클 SQL 작업시 너무 편하더군요. ^^ 한번 이용해 보세요. http://psoug.org/reference/with.html 이 사이트에 가시면 사용법을 잘 설명을 해 놓았습니다. 단독 또는 복수로 작업을 할수 있어서 편리합니다. 간단히 사용 문법을 정리를 하면.. - 단독사용시 WITH TMP AS ( SELECT 1 AS NO, '홍길동' AS NAME FROM DUAL UNION ALL SELECT 2 AS NO, '김말순' AS NAME FROM DUAL ) SELECT * FROM TMP - 복수 사용시 WITH TMP_A AS ( SELECT 1 AS NO, '홍길동' AS NAME FR..

DataBase/Oracle 2012.05.22

Week , Day 뽑기

TO_CHAR(TO_DATE('20080106', 'YYYYMMDD'), 'IW') => 2008년 1월 6일은 해당 월의 첫번째 주 (결과 : 01) TO_CHAR(TO_DATE('20080107', 'YYYYMMDD'), 'IW') => 2008년 1월 7일은 해당 월의 두번째 주 (결과 : 02) TRUNC(TO_DATE('20080106', 'YYYYMMDD'), 'IW') => 2008년 1월 6일이 포함된 주의 월요일(시작일시) (결과: 2007-12-31 00:00:00) TRUNC(TO_DATE('20080107', 'YYYYMMDD'), 'IW') => 2008년 1월 7일이 포함된 주의 월요일(시작일시) (결과: 2008-01-07 00:00:00) TO_CHAR함수 두번째 인자에 DY..

DataBase/Oracle 2012.05.22

힌트 사용 방법

인덱스 힌트 포맷은 대략 아래와 같다. select /*+ index(TABLE_NAME INDEX_NAME) */ col1... 이러한 힌트사용에 대해 반드시 지켜야 하는 규칙이 있는데, 정리하면 아래와 같다. [1] TABLE_NAME 은 반드시 써주어야 한다. [2] 질의 문장에 테이블 ALIAS를 사용했다면, hint에도 테이블 ALIAS를 사용한다. [3] 만약 TABLE_NAME이나 테이블 ALIAS의 spelling이 틀렸다면, hint를 사용하지 못하게 된다. [4] INDEX_NAME 은 반드시 써줄 필요는 없다. [5] 만일 TABLE_NAME없이 INDEX_NAME만 써주었다면, 힌트를 사용하지 못하게 된다 [6] 만일 TABLE_NAME만 써주었다면, OPTIMIZER는 STATIS..

DataBase/Oracle 2012.05.21
728x90
반응형