Freigeben über


Verwenden der Anmerkungen 'sql:identity' und 'sql:guid'

Gilt für: SQL Server Azure SQL-Datenbank

Sie können die Sql:Identity - und sql:guid-Anmerkungen in einem XSD-Schema auf jedem Knoten angeben, der einer Datenbankspalte in Microsoft SQL Server zugeordnet ist. Während das Updategrammformat die Attribute updg:at-identity und updg:guid unterstützt, ist das DiffGram-Format nicht zulässig. Das updg:at-identity-Attribut definiert das Verhalten beim Aktualisieren einer IDENTITY-Typ-Spalte. Mit dem updg:guid-Attribut können Sie einen GUID-Wert aus SQL Server abrufen und im Updategramm verwenden. Weitere Informationen und Arbeitsbeispiele finden Sie unter Einfügen von Daten mithilfe von XML-Updategrams (SQLXML 4.0).For more information and working samples, see Inserting Data Using XML Updategrams (SQLXML 4.0).

Die Anmerkungen "sql:identity " und "sql:guid " 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. Durch Angeben der sql:identity - und sql:guid-Anmerkungen im XSD-Schema definieren Sie tatsächlich das Verhalten eines Updategramms. 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 Anmerkungen "sql:identity " und "sql:guid " können für ein komplexes Inhaltselement definiert werden.

'sql:identity'-Anmerkung

Sie können die sql:Identity-Anmerkung im XSD-Schema auf jedem Knoten angeben, der einer Identity-Typ-Datenbankspalte zugeordnet ist. Der für diese Anmerkung angegebene Wert definiert, wie die IDENTITY-Typ-Spalte aktualisiert wird (entweder mithilfe des im Updategramm bereitgestellten Werts zum Ändern der Spalte oder durch Ignorieren des Werts, in diesem Fall wird für diese Spalte ein SQL Server-generierter Wert verwendet).

Der sql:identity-Anmerkung können zwei Werte zugewiesen werden:

ignore
Weist das Updategram auf, alle Werte zu ignorieren, die im Updategram für diese Spalte bereitgestellt werden, und auf SQL Server angewiesen, um 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 "IDENTITY-type" angibt, muss die sql:identity="useValue" im Schema angegeben werden.

'sql:guid'-Anmerkung

Ein Updategram kann SQL Server einen GUID-Wert generieren und dann diesen Wert im Updategramm verwenden. Im Kontext von DiffGrams können Sie die sql:guid-Anmerkung verwenden, um anzugeben, ob ein VON SQL Server generierter GUID-Wert verwendet werden soll, oder den Wert verwenden, der im Updategram für diese Spalte bereitgestellt wird.

Der sql:guid-Anmerkung können zwei Werte zugewiesen werden:

generate
Gibt an, dass die von SQL Server generierte GUID für diese Spalte im Aktualisierungsvorgang verwendet wird.

useValue
Gibt an, dass der im Updategram angegebene Wert für die Spalte verwendet werden soll. Dies ist der Standardwert.