Användning av sql:identity och sql:guid annotationer

gäller för:SQL ServerAzure SQL Database

Du kan ange sql:identity- och sql:guid-annotationerna i ett XSD-schema på vilken nod som helst som mappar till en databaskolumn i Microsoft SQL Server. Medan updategram-formatet stöder updg:at-identity och updg:guid-attributen , gör inte DiffGram-formatet det. updg:at-identity-attributet definierar beteendet vid uppdatering av en IDENTITY-typ kolumn. Updg:GUID-attributet låter dig hämta ett GUID-värde från SQL Server och använda det i updategrammet. För mer information och arbetsexempel, se Inserting Data Using XML Updategrams (SQLXML 4.0).

sql:identity- och sql:guid-annotationerna utökar denna funktionalitet till DiffGrams.

När du kör ett DiffGram konverteras det först till ett updategram, och sedan körs updategrammet. Genom att specificera sql:identity- och sql:guid-annotationerna i XSD-schemat definierar du faktiskt beteendet för ett updategram. Därför beskrivs alla annotationer i kontexten av ett updategram. Annotationerna kan användas både för DiffGrams och updategrams; dock erbjuder updategrams redan ett kraftfullare sätt att hantera identitet och GUID-värden.

sql:identity- och sql:guid-annotationerna kan definieras på ett komplext innehållselement.

sql:identity Annotation

Du kan specificera sql:identity-annotationen i XSD-schemat på vilken nod som helst som mappar till en databaskolumn av IDENTITY-typ. Det värde som anges för denna annotation definierar hur IDENTITY-typkolumnen uppdateras (antingen genom att använda värdet i uppdateringsgrammet för att ändra kolumnen eller genom att ignorera värdet, i vilket fall ett SQL Server-genererat värde används för denna kolumn).

sql:identity-annotationen kan tilldelas två värden:

bortse från
Styr updategrammet att ignorera alla värden som anges i updategrammet för den kolumnen och att förlita sig på SQL Server för att generera identitetsvärdet.

useValue
Styr updategrammet att använda värdet som anges i updategrammet för att uppdatera kolumnen IDENTITY-typ. Ett updategram kontrollerar inte om kolumnen är ett identitetsvärde eller inte.

Om updategrammet specificerar ett värde för kolumnen IDENTITY-typ måste sql:identity="useValue" anges i schemat.

sql:guid Annotation

Ett updategram kan låta SQL Server generera ett GUID-värde och sedan använda detta värde i updategrammet. I samband med DiffGrams kan du använda sql: guid-annotationen för att specificera om du ska använda ett GUID-värde som genereras av SQL Server eller det värde som anges i updategrammet för den kolumnen.

sql:guid-annotationen kan tilldelas två värden:

generera
Specificerar att GUID:en som genereras av SQL Server ska användas för den kolumnen i uppdateringsoperationen.

useValue
Specificerar att värdet som anges i updategrammet ska användas för kolumnen. Det här är standardvärdet.