次の方法で共有


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注釈は、IDENTITY 型データベース列にマップする任意のノードの XSD スキーマで指定できます。 この注釈に指定された値は、IDENTITY 型の列の更新方法を定義します (更新プログラムで指定された値を使用して列を変更するか、値を無視します。この場合、この列には SQL Server によって生成された値が使用されます)。

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
アップデートグラムで提供される値を列に使用することを指定します。 これが既定値です。