共用方式為


FOR XML 子句的基本語法

FOR XML 模式可以是 RAW、AUTO、EXPLICIT 或 PATH。它可以決定產生 XML 的外觀。以下是 FOR 子句 (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') ] ]

引數

  • RAW[('ElementName')]
    使用查詢結果並將結果集中的每一個資料列轉換為 XML 元素,該元素包含做為元素標記的泛用識別碼 <row />。當您使用此指示詞時,您可以選擇性地指定資料列元素的名稱 。產生的 XML 將會使用指定的 ElementName 做為針對每個資料列所產生的資料列元素。如需詳細資訊,請參閱<使用 RAW 模式>與<新的 FOR XML 功能>。
  • AUTO
    Returns query results in a simple, nested XML tree.FROM 子句中的每個資料表至少都有一個資料行是列在 SELECT 子句中,這些資料表是以 XML 元素表示。The columns listed in the SELECT clause are mapped to the appropriate element attributes.如需詳細資訊,請參閱<使用 AUTO 模式>與<新的 FOR XML 功能>。
  • EXPLICIT
    Specifies that the shape of the resulting XML tree is defined explicitly.透過使用此模式,必須以特定方式撰寫查詢,這樣才能明確地指定您需要的巢狀其他資訊。如需詳細資訊,請參閱<使用 EXPLICIT 模式>與<新的 FOR XML 功能>。
  • PATH
    提供更簡單的方式來混合元素與屬性,並引用其他的巢狀來代表複雜的屬性。您可以使用 FOR XML EXPLICIT 模式查詢來建構從資料列集而來的這類 XML,但是 PATH 模式對於可能會比較繁雜的 EXPLICIT 模式查詢提供較簡單的替代方案。PATH 模式還可撰寫巢狀 FOR XML 查詢及 TYPE 指示詞,以傳回 xml 類型執行個體,這將可讓您撰寫較不複雜的查詢。它為撰寫大部份的 EXPLICIT 模式查詢提供替代方案。依預設,PATH 模式會針對結果集的每個資料列產生 <row> 元素包裝函式。您可以選擇性地指定元素名稱。如果您有選擇,則會將指定名稱做為包裝函式的元素名稱。如果您提供空白字串 (FOR XML PATH ('')),就不會產生包裝函式元素。如需詳細資訊,請參閱<使用 PATH 模式>。
  • XMLDATA
    指定應傳回的內嵌 XML-Data Reduced (XDR) 結構描述。結構描述則是文件預先決定的內嵌結構描述。如需實用範例,請參閱<使用 RAW 模式>。
  • XMLSCHEMA
    傳回內嵌 W3C XML 結構描述 (XSD)。在指定此指示詞時,您可以選擇性地指定目標命名空間 URI。這將會傳回結構描述中指定的命名空間。如需詳細資訊,請參閱<內嵌 XSD 結構描述產生>。如需實用範例,請參閱<使用 RAW 模式>。
  • ELEMENTS
    若指定了 ELEMENTS 選項,則資料行會以子元素傳回。否則這些資料行會對應到 XML 屬性。此選項只在 RAW、AUTO 以及 PATH 模式中才有支援。在使用此指示詞時,您可以選擇性地指定 XSINIL 或 ABSENT。XSINIL 可指定將含有 xsi:nil 屬性的元素,設為針對 NULL 資料行值所建立的 True。依預設或當同時指定 ABSENT 與 ELEMENTS 時,就不會針對 NULL 值建立任何元素。如需實用範例,請參閱<使用 RAW 模式>與<使用 AUTO 模式>。
  • BINARY BASE64
    若指定 BINARY Base64 選項,則任何由查詢所傳回的二進位資料都會以 base64 編碼格式表示。若要使用 RAW 和 EXPLICIT 模式擷取二進位資料,必須指定此選項。在 AUTO 模式下,二進位資料在預設下是以參考來傳回。如需實用範例,請參閱<使用 RAW 模式>。
  • ROOT [('RootName')]
    指定將單一最上層元素加入產生的 XML。您可以選擇性地指定要產生的根元素名稱 。預設值是 "root"。

請參閱

參考

使用 RAW 模式
使用 AUTO 模式
使用 EXPLICIT 模式
使用 FOR XML 建構 XML

概念

使用 PATH 模式

其他資源

SELECT (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助