共用方式為


使用 sql:identity 和 sql:guid 註解

您可以在對應到 MicrosoftSQL Server 中之資料庫的任何節點上,指定 XSD 結構描述的 sql:identity 和 sql:guid 註解。updategram 格式支援 updg:at-identity 和 updg:guid 屬性,而 DiffGram 格式則不支援。updg:at-identity 屬性會定義更新 IDENTITY 類型之資料行時的行為。updg:guid 屬性可讓您從 SQL Server 取得 GUID 值,並將其用在 updategram 中。如需詳細資訊和實用範例,請參閱<使用 XML Updategram 插入資料 (SQLXML 4.0)>。

sql:identity 和 sql:guid 註解會將此功能擴充到 DiffGrams。

當您執行 DiffGram 時,會先將其轉換為 updategram,然後再執行 updategram。透過在 XSD 結構描述中指定 sql:identity 和 sql:guid 註解,您實際上就在定義 updategram 的行為。因此,所有註解的描述都在 updategram 的內容中。 註解可以同時用於 DiffGrams 和 updategrams,不過,updategrams 已經提供更強大的方式來處理識別與 GUID 值。

sql:identity 和 sql:guid 註解可以在複雜內容元素上定義。

sql:identity 註解

您可以在對應到 IDENTITY 類型之資料庫資料行的任何節點上,指定 XSD 結構描述的 sql:identity 註解。針對此註解指定的值會定義如何更新 IDENTITY 類型的資料行 (透過使用 updategram 中提供的值來修改資料行,或忽略值,在此種狀況下,SQL Server 產生的值會用於此資料行)。

系統可以指派兩個值給 sql:identity 註解:

  • ignore
    導向 updategram 忽略 updategram 中針對該資料行提供的任何值,並依賴 SQL Server 產生識別值。

  • useValue
    導向 updategram 使用 updategram 中提供的值,來更新 IDENTITY 類型的資料行。updategram 不會檢查資料行是否是識別值。

如果 updategram 指定 IDENTITY 類型資料行的值,必須在結構描述中指定 sql:identity="useValue"。

sql:guid 註解

updategram 可以讓 SQL Server 產生 GUID 值,然後在 updategram 中使用此值。在 DiffGrams 的內容中,您可以使用 sql:guid 註解來指定要使用 SQL Server 所產生的 GUID 值,還是使用 updategram 中針對該資料行提供的值。

系統可以指派兩個值給 sql:guid 註解:

  • generate
    指定 SQL Server 所產生的 GUID 用於更新作業中的該資料行。

  • useValue
    指定在 updategram 中指定的值用於該資料行。這是預設值。