sql:identity 注釈と sql:guid 注釈の使用
適用対象: SQL Server Azure SQL データベース
sql:identityおよびsql:guid注釈は、Microsoft SQL Server のデータベース列にマップされるすべてのノードの XSD スキーマで指定できます。 アップデートグラム形式では updg:at-identity 属性と updg:guid 属性がサポートされますが、DiffGram 形式ではサポートされません。 updg:at-identity 属性は、IDENTITY 型の列を更新する際の動作を定義します。 updg:guid 属性を使用すると、SQL Server から GUID 値を取得し、それをアップデートグラムで使用できます。 詳細と作業サンプルについては、「 XML アップデートグラムを使用したデータの挿入 (SQLXML 4.0)」を参照してください。
sql:identityおよびsql:guid注釈は、この機能を DiffGrams に拡張します。
DiffGram を実行すると、DiffGram がアップデートグラムに変換された後、アップデートグラムが実行されます。 XSD スキーマで sql:identity および sql:guid 注釈を指定することで、実際にはアップデートグラムの動作を定義します。 したがって、すべての注釈はアップデートグラムのコンテキストで記述します。 これらの注釈は DiffGram とアップデートグラムの両方で使用できますが、アップデートグラムには ID 値と GUID 値をより効率的に処理する機能が既に用意されています。
sql:identityおよびsql:guid注釈は、複雑なコンテンツ要素で定義できます。
sql:identity 注釈
sql:identity注釈には、次の 2 つの値を割り当てることができます。
ignore
その列のアップデートグラムで指定された値を無視し、SQL Server に依存して ID 値を生成するように、アップデートグラムに指示します。
useValue
アップデートグラムで提供される値を使用して、IDENTITY 型列を更新します。 アップデートグラムでは、列が ID 値かどうかは確認されません。
アップデートグラムで IDENTITY 型の列の値を指定する場合は、スキーマで sql:identity="useValue" を指定する必要があります。
sql:guid 注釈
アップデートグラムは、SQL Server に GUID 値を生成させ、アップデートグラムでこの値を使用することができます。 DiffGrams のコンテキストでは、 sql:guid 注釈を使用して、SQL Server によって生成される GUID 値を使用するか、その列のアップデートグラムに指定されている値を使用するかを指定できます。
sql:guid注釈には、次の 2 つの値を割り当てることができます。
作成
更新操作でその列に対して SQL Server によって生成された GUID を使用することを指定します。
useValue
アップデートグラムで提供される値を列に使用することを指定します。 これが既定値です。