Verwenden der Anmerkungen 'sql:identity' und 'sql:guid'
Sie können die sql:identity-Anmerkung und die sql:guid-Anmerkung in einem XSD-Schema auf einem beliebigen Knoten angeben, der einer Datenbankspalte in Microsoft SQL Server zugeordnet ist. Während das Updategram-Format das updg:at-identity-Attribut und das updg:guid-Attribut unterstützt, ist das beim DiffGram-Format nicht der Fall. Das updg:at-identity-Attribut definiert das Verhalten beim Aktualisieren der Spalte vom Typ IDENTITY. Mit dem updg:guid-Attribut können Sie einen GUID-Wert von SQL Server abfragen und ihn im Updategram verwenden. Weitere Informationen und Verwendungsbeispiele finden Sie unter Einfügen von Daten mit XML-Updategrams (SQLXML 4.0).
Die sql:identity-Anmerkung und sql:guid-Anmerkung erweitern diese Funktionalität auf DiffGrams.
Wenn Sie ein DiffGram ausführen, wird es zunächst in ein Updategram konvertiert, dann wird das Updategram ausgeführt. Indem Sie die sql:identity-Anmerkung und die sql:guid-Anmerkung im XSD-Schema angeben, definieren Sie das Verhalten eines Updategrams. Daher werden alle Anmerkungen im Kontext eines Updategrams beschrieben. Die Anmerkungen können sowohl für DiffGrams als auch für Updategrams verwendet werden. Updategrams stellen jedoch ein leistungsfähigeres Verfahren zur Verarbeitung von Identitäts- und GUID-Werten dar.
Die sql:identity-Anmerkung und die sql:guid-Anmerkung können für ein komplexes Inhaltselement definiert werden.
'sql:identity'-Anmerkung
Sie können die sql:identity-Anmerkung im XSD-Schema für jeden beliebigen Knoten angeben, der einer Datenbankspalte vom Typ IDENTITY zugeordnet ist. Der für diese Anmerkung angegebene Wert definiert, wie die Spalte vom Typ IDENTITY aktualisiert wird (entweder durch Verwendung des im Updategram angegebenen Werts für die Änderung der Spalte oder durch Ignorieren des Werts, was dazu führt, dass ein von SQL Server generierter Wert für diese Spalte verwendet wird).
Der sql:identity-Anmerkung können zwei Werte zugewiesen werden:
ignore
Weist das Updategram an, einen für diese Spalte im Updategram vorhandenen Wert zu ignorieren und es SQL Server zu überlassen, den Identitätswert zu generieren.useValue
Weist das Updategram an, den im Updategram angegebenen Wert zur Aktualisierung der Spalte vom Typ IDENTITY zu verwenden. Ein Updategram prüft nicht, ob es sich bei der Spalte um eine Identitätsspalte handelt.
Wenn das Updategram einen Wert für die Spalte vom Typ IDENTITY angibt, muss sql:identity="useValue" im Schema angegeben sein.
'sql:guid'-Anmerkung
Ein Updategram kann SQL Server veranlassen, einen GUID-Wert zu generieren, der dann im Updategram verwendet wird. Im Kontext von DiffGrams können Sie mit der sql:guid-Anmerkung angeben, ob ein von SQL Server generierter GUID-Wert oder der im Updategram angegebene Wert für die betreffende Spalte verwendet werden soll.
Der sql:guid-Anmerkung können zwei Werte zugewiesen werden:
generate
Gibt an, dass der von SQL Server generierte GUID-Wert im Updatevorgang für diese Spalte verwendet werden soll.useValue
Gibt an, dass der im Updategram angegebene Wert für die Spalte verwendet werden soll. Dies ist der Standardwert.