FOR 절(Transact-SQL)

FOR 절은 BROWSE 또는 XML 옵션을 지정하는 데 사용합니다. BROWSE와 XML은 서로 관련이 없는 옵션입니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

[ FOR { BROWSE | <XML> } ]
<XML> ::=
XML 
{ 
    { RAW [ ( 'ElementName' ) ] | AUTO } 
    [ 
        <CommonDirectives> 
        [ , { XMLDATA | XMLSCHEMA [ ( 'TargetNameSpaceURI' ) ] } ] 
        [ , ELEMENTS [ XSINIL | ABSENT ] 
    ]
  | EXPLICIT 
    [ 
        <CommonDirectives> 
        [ , XMLDATA ] 
    ]
  | PATH [ ( 'ElementName' ) ] 
    [
        <CommonDirectives> 
        [ , ELEMENTS [ XSINIL | ABSENT ] ]
    ]
} 

<CommonDirectives> ::= 
[ , BINARY BASE64 ]
[ , TYPE ]
[ , ROOT [ ( 'RootName' ) ] ]

인수

  • BROWSE
    DB-Library 찾아보기 모드 커서에서 데이터를 표시하는 동안 업데이트를 허용하도록 지정합니다. 테이블에 timestamp 열이 있고 고유한 인덱스가 있으며 SQL Server 인스턴스로 전송된 SELECT 문의 끝에 FOR BROWSE 옵션이 있으면 응용 프로그램에서 테이블을 찾아볼 수 있습니다.

    [!참고] FOR BROWSE 옵션을 포함하는 SELECT 문에서는 <lock_hint> HOLDLOCK을 사용할 수 없습니다.

    FOR BROWSE는 UNION 연산자로 조인된 SELECT 문에는 표시되지 않습니다.

    [!참고] 테이블의 고유 인덱스 키 열이 Null을 허용하고 테이블이 외부 조인의 내부 측면에 있으면 해당 인덱스는 찾아보기 모드에서 지원되지 않습니다.

  • XML
    쿼리 결과를 XML 문서로 반환하도록 지정합니다. XML 모드는 RAW, AUTO, EXPLICIT 중 하나로 지정해야 합니다. XML 데이터 및 SQL Server에 대한 자세한 내용은 FOR XML을 사용하는 XML 생성을 참조하십시오.
  • RAW [ ('ElementName') ]
    쿼리 결과를 사용하여 결과 집합의 각 행을 요소 태그로 <row /> 일반 식별자를 갖는 XML 요소로 변환합니다. 필요에 따라 행 요소에 대한 이름을 지정할 수 있습니다. 결과 XML 출력은 각 행에 대해 행 요소가 생성될 때 지정된 ElementName을 사용합니다. 자세한 내용은 RAW 모드 사용RAW 모드의 향상된 기능을 참조하십시오.
  • AUTO
    단순하게 중첩된 XML 트리로 쿼리 결과를 반환합니다. 최소한 한 개의 열이 SELECT 절에 나열되는 FROM 절의 각 테이블은 XML 요소로 표시됩니다. SELECT 절에 나열되는 열은 해당 요소의 특성에 매핑됩니다. 자세한 내용은 AUTO 모드 사용AUTO 모드의 향상된 기능을 참조하십시오.
  • EXPLICIT
    XML 결과 트리 형태가 명시적으로 정의되도록 지정합니다. 쿼리는 이 모드를 사용하여 원하는 중첩에 대한 추가 정보가 명시적으로 지정되도록 특정 방식으로 작성되어야 합니다. 자세한 내용은 EXPLICIT 모드 사용EXPLICIT 모드의 향상된 기능을 참조하십시오.
  • XMLDATA
    인라인 XDR 스키마를 반환하지만 결과에 루트 요소를 추가하지는 않습니다. XMLDATA를 지정하면 문서에 XDR 스키마가 첨부됩니다.
  • XMLSCHEMA [ ('TargetNameSpaceURI') ]
    인라인 XSD 스키마를 반환합니다. 이 지시어를 지정할 때 스키마에 지정된 네임스페이스를 반환하는 대상 네임스페이스 URI를 필요에 따라 지정할 수 있습니다. 자세한 내용은 인라인 XSD 스키마 생성을 참조하십시오.
  • ELEMENTS
    열을 하위 요소로 반환하도록 지정합니다. 그렇지 않은 경우에는 XML 특성에 매핑됩니다. 이 옵션은 RAW, AUTO 및 PATH 모드에서만 지원됩니다. 자세한 내용은 RAW 모드의 향상된 기능을 참조하십시오.
  • ABSENT
    Null 열 값에서는 해당 XML 요소가 XML 결과에 추가되지 않음을 나타냅니다. 이 옵션은 ELEMENTS에만 지정하십시오.
  • PATH [ ('ElementName') ]
    결과 집합의 각 행에 대해 <row> 요소 래퍼를 생성합니다. 필요에 따라 <row> 요소 래퍼에 대한 요소 이름을 지정할 수 있습니다. FOR XML PATH('')와 같은 빈 문자열이 지정된 경우 래퍼 요소가 생성되지 않습니다. EXPLICIT 지시어를 사용하여 작성된 쿼리 대신 PATH를 사용하는 것이 더 간단한 방법일 수 있습니다. 자세한 내용은 PATH 모드 사용을 참조하십시오.
  • BINARY BASE64
    쿼리에서 이진 데이터를 이진 base64 인코드 형식으로 반환하도록 지정합니다. RAW 및 EXPLICIT 모드를 사용하여 이진 데이터를 검색하는 경우 이 옵션을 지정해야 합니다. 이 값은 AUTO 모드에서 기본값입니다.
  • ROOT [ ('RootName') ]
    단일 최상위 요소가 결과 XML에 추가되도록 지정합니다. 필요에 따라 생성할 루트 요소 이름을 지정할 수 있습니다. 선택 사항인 루트 이름을 지정하지 않으면 기본 <root> 요소가 추가됩니다.

다음 예에서는 FOR XML AUTOTYPEXMLSCHEMA 옵션을 사용하여 지정합니다. TYPE 옵션으로 인해 결과 집합은 xml 형식으로 클라이언트에 반환됩니다. XMLSCHEMA 옵션은 반환되는 XML 데이터에 인라인 XSD 스키마가 포함되도록 지정하며 ELEMENTS 옵션은 XML 결과가 요소 중심이 되도록 지정합니다.

USE AdventureWorks;
GO
SELECT ContactID, FirstName, LastName, Phone
FROM Person.Contact
WHERE LastName LIKE 'G%'
ORDER BY LastName, FirstName 
FOR XML AUTO, TYPE, XMLSCHEMA, ELEMENTS XSINIL;

참고 항목

참조

SELECT(Transact-SQL)

관련 자료

FOR XML 및 OPENXML을 사용하여 XML 데이터 게시 및 처리

도움말 및 정보

SQL Server 2005 지원 받기