The Wayback Machine - http://web.archive.org/web/20140105211231/http://msdn.microsoft.com:80/zh-tw/library/ms173812(v=sql.90).aspx
匯出 (0) 列印
全部展開
Expand Minimize
本主題尚未接受評分 - 為這個主題評分

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 資料行、資料表有唯一索引,且 FOR BROWSE 選項在傳給 SQL Server 執行個體的 SELECT 陳述式結尾,便可以在應用程式中瀏覽資料表。

ms173812.note(zh-tw,SQL.90).gif附註:
您不能在包括 FOR BROWSE 選項的 SELECT 陳述式中使用 <lock_hint> HOLDLOCK。

FOR BROWSE 不能出現在 UNION 運算子所聯集的 SELECT 陳述式中。

ms173812.note(zh-tw,SQL.90).gif附註:
當資料表的唯一索引鍵資料行可設為 Null 時,資料表是在外部聯結的內側,瀏覽模式並不支援索引。

XML

指定查詢結果要以 XML 文件來傳回。您必須指定下列 XML 模式之一:RAW、AUTO、EXPLICIT。如需有關 XML 資料和 SQL Server 的詳細資訊,請參閱<使用 FOR XML 建構 XML>。

RAW [ ('ElementName') ]

取得查詢結果,將結果集中的每個資料列轉換成 XML 元素,且用一般識別碼 <row /> 來作為元素標記。您可以選擇性地指定資料列元素的名稱。產生的 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 模式增強功能>。

XSINIL

指定針對 NULL 資料行值來建立 xsi:nil 屬性設成 True 的元素。這個選項只能搭配 ELEMENTS 指示詞來指定。如需詳細資訊,請參閱<使用 XSINIL 參數為 NULL 值產生元素>。

ABSENT

指出對於 NULL 資料行值而言,不會在 XML 結果中加入對應的 XML 元素。請只搭配 ELEMENTS 來指定這個選項。

PATH [ ('ElementName') ]

針對結果集中的每個資料列來產生 <row> 元素包裝函式。您可以選擇性地指定 <row> 元素包裝函式的元素名稱。如果提供空字串,如 FOR XML PATH ('') ),就不會產生包裝函式元素。使用 PATH 可能會針對利用 EXPLICIT 指示詞來撰寫的查詢提供較簡單的替代方案。如需詳細資訊,請參閱<使用 PATH 模式>。

BINARY BASE64

指定查詢用二進位 Base64 編碼格式來傳回二進位資料。當您利用 RAW 和 EXPLICIT 模式來擷取二進位資料時,您必須指定這個選項。這是 AUTO 模式的預設值。

TYPE

指定查詢傳回 xml 類型的結果。如需詳細資訊,請參閱<FOR XML 查詢中的 TYPE 指示詞>。

ROOT [ ('RootName') ]

指定將單一最上層元素加入產生的 XML 中。您可以選擇性地指定要產生的根元素名稱。如果未指定選擇性的根名稱,就會加入預設 <root> 元素。

下列範例指定設定了 TYPE 和 XMLSCHEMA 選項的 FOR XML AUTO。由於 TYPE 選項,結果集會以 xml 類型傳回用戶端。XMLSCHEMA 選項指定將內嵌 XSD 結構描述包括在傳回的 XML 資料中,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;

本文對您有任何幫助嗎?
(剩餘 1500 個字元)

社群新增項目

新增
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。