使用 sql:identity 和 sql:guid 註釋

適用於:SQL ServerAzure SQL 資料庫

您可以在任何對應至 Microsoft SQL Server 中資料庫數據行的節點上,於 XSD 架構中指定 sql:identitysql:guid 批注。 雖然 updategram 格式支援 updg:at-identityupdg:guid 屬性,但 DiffGram 格式則不支援。 updg:at-identity 屬性會定義更新 IDENTITY 類型數據行的行為。 updg:guid 屬性可讓您從 SQL Server 取得 GUID 值,並在 updategram 中使用它。 如需詳細資訊和運作範例,請參閱 使用 XML Updategram 插入資料 (SQLXML 4.0)

sql:identitysql:guid 批注會將此功能延伸至 DiffGrams。

當您執行 DiffGram 時,它會先轉換成 updategram,然後執行 updategram。 藉由在 XSD 架構中指定 sql:identitysql:guid 註釋,您實際上會定義 updategram 的行為。 因此,所有批注都會在Updategram的內容中描述。 批注可用於 DiffGram 和 updategram;不過,Updategram 已經提供更強大的方法來處理身分識別和 GUID 值。

您可以在複雜的內容元素上定義 sql:identitysql:guid 批注。

sql:identity Annotation

您可以在任何對應至 IDENTITY 類型資料庫資料行的節點上,於 XSD 架構中指定 sql:identity 批注。 這個批注所指定的值會定義如何更新 IDENTITY 類型數據行(無論是使用 updategram 中提供的值來修改資料行,或是忽略值,在此情況下,SQL Server 產生的值會用於此數據行)。

sql:identity 註釋可以指派兩個值:

略過
指示 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 註釋可以指派兩個值:

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

useValue
指定 updategram 中指定的值用於數據行。 這是預設值。