Delen via


Gebruik van de sql:identity en sql:guid Annotaties

Van toepassing op:SQL ServerAzure SQL Database

Je kunt de sql:identity - en sql:guid-annotaties specificeren in een XSD-schema op elke node die overeenkomt met een databasekolom in Microsoft SQL Server. Waar het updategram-formaat de updg:at-identity en updg:guid-attributen ondersteunt, doet het DiffGram-formaat dat niet. Het updg:at-identity at-identity at-at - Het updg: guid-attribuut stelt je in staat een GUID-waarde van SQL Server te verkrijgen en deze te gebruiken in het updategram. Voor meer informatie en werkvoorbeelden, zie Inserting Data Using XML Updategrams (SQLXML 4.0).

De sql:identity- en sql:guid-annotaties breiden deze functionaliteit uit naar DiffGrams.

Wanneer je een DiffGram uitvoert, wordt het eerst omgezet naar een updategram, en daarna wordt het updategram uitgevoerd. Door de sql:identity- en sql:guid-annotaties in het XSD-schema te specificeren, definieer je in feite het gedrag van een updategram. Daarom worden alle annotaties beschreven in de context van een updategram. De annotaties kunnen zowel voor DiffGrams als updategrammen worden gebruikt; echter, updategrammen bieden al een krachtigere manier om identiteit en GUID-waarden te behandelen.

De sql:identity- en sql:guid-annotaties kunnen worden gedefinieerd op een complex inhoudselement.

sql:identity Annotatie

Je kunt de sql:identity-annotatie specificeren in het XSD-schema op elke node die overeenkomt met een databasekolom van het IDENTITY-type. De waarde die voor deze annotatie wordt gespecificeerd, bepaalt hoe de kolom IDENTITY-type wordt bijgewerkt (hetzij door de waarde in het updategram te gebruiken om de kolom te wijzigen, hetzij door de waarde te negeren, waarbij een door SQL Server gegenereerde waarde voor deze kolom wordt gebruikt).

De sql:identity-annotatie kan twee waarden worden toegekend:

negeren
Geeft het updategram opdracht om elke waarde die in het updategram voor die kolom wordt gegeven te negeren en te vertrouwen op SQL Server om de identiteitswaarde te genereren.

useValue
Geeft opdracht aan het updategram om de waarde die in het updategram wordt gegeven te gebruiken om de IDENTITY-type kolom bij te werken. Een updategram controleert niet of de kolom een identiteitswaarde is of niet.

Als het updategram een waarde specificeert voor de kolom IDENTITY-type, moet sql :identity="useValue" in het schema worden opgegeven.

sql:guid Annotatie

Een updategram kan SQL Server een GUID-waarde laten genereren en deze waarde vervolgens in het updategram gebruiken. In de context van DiffGrams kun je de sql: guid-annotatie gebruiken om aan te geven of je een GUID-waarde gebruikt die door SQL Server wordt gegenereerd, of de waarde die in het updategram voor die kolom wordt gegeven.

De sql: guid-annotatie kan twee waarden worden toegekend:

genereren
Specificeert dat de door SQL Server gegenereerde GUID gebruikt moet worden voor die kolom in de updatebewerking.

useValue
Specificeert dat de waarde die in het updategram is gespecificeerd, voor de kolom moet worden gebruikt. Dit is de standaardwaarde.