[MSSQL] Query To XML
- 데이터 쿼리의 결과를 XML 로 표현
1. For XML RAW
- 쿼리 Row 단위로 표출
<실행문>
<결과>
2. For XML RAW('element명')
- element명으로 row element 명이 바뀜
<실행문>
<결과>
3. For XML Path
- SQL2005에서 추가된 기능
- FOR XML EXPLICIT 보다 훨 쉽게 XML 문서로 변환 가능
<실행문1>
<결과1>
<실행문2>
<결과2>
For XML Path 열이름 규칙
이름 |
결과 |
@이름 |
해당 열의 문자 데이터가 결과 XML의 현재 요소에 대한 속성으로 생성됩니다. |
이름 |
해당 열의 문자 데이터가 결과 XML의 현재 요소에 대한 하위 요소로 생성됩니다. |
요소이름/이름 |
해당 열의 문자 데이터가 결과 XML의 요소이름 요소 아래의 하위 요소로 생성됩니다. |
요소이름/@이름 |
해당 열의 문자 데이터가 결과 XML의 요소이름 요소에 대한 속성으로 생성됩니다. |
Text() |
해당 열의 문자 데이터가 결과 XML에서 텍스트 노드로 생성됩니다. |
Comment() |
해당 열의 문자 데이터가 결과 XML에서 XML 주석으로 생성됩니다. |
Node() |
해당 열의 문자 데이터가 결과 XML의 현재 요소 아래에 inline으로 삽입됩니다. |
* |
Node()와 동일합니다. |
Data() |
해당 열의 문자 데이터가 atomic value로 삽입됩니다. 결과 XML의 atomic value 사이에 스페이스가 삽입됩니다. |
Processing-instruction(name) |
해당 열의 문자 데이터가 name이라는 XML processing instruction으로 생성됩니다. |
4. 응용
- Raw 또는 Path 등으로 바꿔 사용할 수 있음, 프로퍼티와 엘러먼트 차이
- Type : 하위 쿼리가 Xml 유형으로 결과 반환, 수정되지 않음
1) 계층형 ( 공통 내용을 상위 element 로 만듬 )
<실행문>
<결과>
2) XML 결과값 UNION ( 각기 다른 테이블들에 대한 결과 XML 을 나열 )
<실행문>
<결과>
'프로그래밍 > MS SQL' 카테고리의 다른 글
프로시져/함수/트리거 등의 스크립트를 확인할 수 있는 방법 (0) | 2013.01.15 |
---|---|
테이블 레이아웃 문서를 위한 쿼리 (0) | 2013.01.11 |
자동 증가 시드값 가져오는 방법 (0) | 2012.11.05 |
콤마로 된 문자열을 테이블로 변환 함수 (0) | 2012.09.28 |
구분별 지정 테이블 특정필드 리스트 콤마로 나열하는 함수 (0) | 2012.09.27 |