반응형
MSSQL에서 쿼리를 수행 후 나온 결과를 XML로 활용 할 때 사용하면 좋은 Tip입니다.
1. XML Node에 각 컬럼을 Attribute로 변환
- SELECT 쿼리 마지막에 FOR XML RAW('NodeName')를 하면 XML로 변환된다.
[쿼리]
SELECT *
FROM INFORMATION_SCHEMA.TABLES
FOR XML RAW('TABLE')
[결과]
<TABLE TABLE_CATALOG="SN2126_LPM_MDB" TABLE_SCHEMA="dbo" TABLE_NAME="CUHASBP_VSpring3200_TypeAOV" TABLE_TYPE="VIEW" />
<TABLE TABLE_CATALOG="SN2126_LPM_MDB" TABLE_SCHEMA="dbo" TABLE_NAME="CUHASBP_StdLongTanUBoltIIV" TABLE_TYPE="VIEW" />
2. XML Root 지정하여 변환하기
- SELECT 쿼리 마지막에 FOR XML RAW('NodeName'), ROOT('RootName')를 하면 XML로 변환된다.
[쿼리]
SELECT *
FROM INFORMATION_SCHEMA.TABLES
FOR XML RAW('TABLE'), ROOT('TABLES')
[결과]
<TABLES>
<TABLE TABLE_CATALOG="SN2126_LPM_MDB" TABLE_SCHEMA="dbo" TABLE_NAME="CUHASBP_VSpring3200_TypeAOV" TABLE_TYPE="VIEW" />
<TABLE TABLE_CATALOG="SN2126_LPM_MDB" TABLE_SCHEMA="dbo" TABLE_NAME="CUHASBP_StdLongTanUBoltIIV" TABLE_TYPE="VIEW" />
</TABLES>
3. 각 컬럼을 Node로 변환하기
- SELECT 쿼리 마지막에 FOR XML RAW('NodeName'), ELEMENTS를 하면 XML로 변환된다.
[쿼리]
SELECT *
FROM INFORMATION_SCHEMA.TABLES
FOR XML RAW('TABLE'), ELEMENTS
[결과]
<TABLE>
<TABLE_CATALOG>SN2126_LPM_MDB</TABLE_CATALOG>
<TABLE_SCHEMA>dbo</TABLE_SCHEMA>
<TABLE_NAME>CUHASBP_VSpring3200_TypeAOV</TABLE_NAME>
<TABLE_TYPE>VIEW</TABLE_TYPE>
</TABLE>
<TABLE>
<TABLE_CATALOG>SN2126_LPM_MDB</TABLE_CATALOG>
<TABLE_SCHEMA>dbo</TABLE_SCHEMA>
<TABLE_NAME>CUHASBP_StdLongTanUBoltIIV</TABLE_NAME>
<TABLE_TYPE>VIEW</TABLE_TYPE>
</TABLE>
4. XML에 Root Node를 지정하고, 각 컬럼을 Node로 변환하기
[쿼리]
SELECT *
FROM INFORMATION_SCHEMA.TABLES
FOR XML RAW('TABLE'), ROOT('ROOT'), ELEMENTS
[결과]
<ROOT>
<TABLE>
<TABLE_CATALOG>SN2126_LPM_MDB</TABLE_CATALOG>
<TABLE_SCHEMA>dbo</TABLE_SCHEMA>
<TABLE_NAME>CUHASBP_VSpring3200_TypeAOV</TABLE_NAME>
<TABLE_TYPE>VIEW</TABLE_TYPE>
</TABLE>
<TABLE>
<TABLE_CATALOG>SN2126_LPM_MDB</TABLE_CATALOG>
<TABLE_SCHEMA>dbo</TABLE_SCHEMA>
<TABLE_NAME>CUHASBP_StdLongTanUBoltIIV</TABLE_NAME>
<TABLE_TYPE>VIEW</TABLE_TYPE>
</TABLE>
</ROOT>
반응형
'데이터베이스 > MSSQL' 카테고리의 다른 글
MS-SQL DB Suspect 해결법 (1) | 2016.11.11 |
---|---|
MS-SQL 날짜 컬럼 Between (0) | 2016.11.11 |
MSSQL UniqueIdentifier형 컬럼을 문자형으로 변환 (0) | 2016.10.27 |
MSSQL 특정 문자 갯수 (0) | 2016.08.31 |
MSSQL - 테이블, 뷰, 컬럼 정보 확인하기 (0) | 2016.05.13 |
댓글