FOR XML을 사용하는 XML 생성

SELECT 쿼리는 결과를 행 집합으로 반환합니다. 선택적으로 쿼리에서 FOR XML 절을 지정하면 SQL 쿼리의 서식 결과를 XML로 검색할 수 있습니다. FOR XML 절에서 다음 모드 중 하나를 지정합니다.

  • RAW
  • AUTO
  • EXPLICIT
  • PATH

RAW 모드는 행 집합의 각 행마다 SELECT 문으로 반환되는 단일 <row> 요소를 생성합니다. 중첩된 FOR XML 쿼리를 작성하여 XML 계층을 생성할 수 있습니다.

AUTO 모드는 SELECT 문이 지정된 방식에 따른 추론 방식을 사용하여 결과 XML에서 중첩 구조를 생성합니다. 생성된 XML의 모양은 최소한으로만 제어할 수 있습니다. AUTO 모드 추론 방식으로 생성된 XML 모양과는 달리 XML 계층을 생성하도록 중첩된 FOR XML 쿼리를 작성할 수 있습니다.

EXPLICIT 모드는 XML 모양에 대해 더 많은 제어 기능을 제공합니다. 사용자는 XML 모양을 결정할 때 자신의 의지대로 특성과 요소를 혼합할 수 있습니다. 이를 위해서는 쿼리 실행에 따라 생성되는 결과 행 집합에 대한 특정 서식이 필요합니다. 그런 다음 이 행 집합 서식이 XML 모양으로 매핑됩니다. EXPLICIT 모드의 장점은 특성 및 요소를 자신의 의지대로 혼합하고, 래퍼 및 중첩된 복합 속성을 만들고, 공백으로 구분된 값(예: 주문 ID 값 목록이 포함된 OrderID 특성)과 혼합된 내용을 만들 수 있습니다.

하지만 EXPLICIT 모드 쿼리 작성은 복잡할 수 있습니다. 중첩된 FOR XML RAW/AUTO/PATH 모드 쿼리 및 TYPE 지시어를 작성하여 EXPLICIT 모드를 사용하는 대신 새로운 FOR XML 기능 중 일부를 사용하여 계층을 생성할 수 있습니다. 중첩된 FOR XML 쿼리는 EXPLICIT 모드를 사용하여 생성할 수 있는 모든 XML을 만들 수 있습니다. 자세한 내용은 중첩 FOR XML 쿼리FOR XML 쿼리의 TYPE 지시어을 참조하십시오.

중첩된 FOR XML 쿼리 기능이 함께 포함된 PATH 경로는 EXPLICIT 모드를 보다 간단한 방식으로 사용할 수 있는 유연성을 제공합니다.

이러한 모드는 실제로 모드가 설정된 해당 쿼리 실행만을 위한 것입니다. 다른 후속 쿼리의 결과에는 영향을 주지 않습니다.

참고 항목

참조

FOR XML 절의 기본 구문
FOR XML 절 사용을 위한 지침
RAW 모드 사용
AUTO 모드 사용
EXPLICIT 모드 사용
새 FOR XML 기능
OPENXML을 사용하여 XML 쿼리
FOR XML 및 OPENXML을 사용하여 XML 데이터 게시 및 처리

개념

PATH 모드 사용
예제 XML 응용 프로그램
WITH XMLNAMESPACES를 사용하여 네임스페이스 추가

도움말 및 정보

SQL Server 2005 지원 받기