Sdílet prostřednictvím


Použití anotací sql:identity a sql:guid

platí pro:SQL Serverazure SQL Database

Můžete specifikovat anotace sql:identity a sql:guid v XSD schématu na jakémkoli uzlu, který mapuje na sloupec databáze v Microsoft SQL Serveru. Zatímco formát updategramu podporuje atributy updg:at-identity a updg:guid , formát DiffGram nikoliv. Atribut updg:at-identity definuje chování při aktualizaci sloupce typu IDENTITY. Atribut updg:guid vám umožní získat hodnotu GUID ze SQL Serveru a použít ji v updategramu. Pro více informací a pracovní ukázky viz Vkládání dat pomocí XML Updategrams (SQLXML 4.0).

Anotace sql:identity a sql:guid rozšiřují tuto funkcionalitu i na DiffGramy.

Když spustíte DiffGram, nejprve se převede na updategram a poté se spustí updategram. Specifikací anotací sql:identity a sql:guid ve schématu XSD ve skutečnosti definujete chování updategramu. Proto jsou všechny anotace popsány v kontextu updategramu. Anotace lze použít jak pro DiffGramy, tak pro updategramy; aktualizační gramy však již poskytují výkonnější způsob zpracování identitních a GUID hodnot.

Anotace sql:identity a sql:guid lze definovat na složitém obsahovém prvku.

sql:identity Annotation

Anotaci sql:identity můžete specifikovat ve schématu XSD na jakémkoli uzlu, který mapuje na sloupec databáze typu IDENTITY. Hodnota určená pro tuto anotaci určuje, jak se sloupec typu IDENTITY aktualizuje (buď použitím hodnoty uvedené v updategramu pro úpravu sloupce, nebo ignorováním této hodnoty, v takovém případě se pro tento sloupec použije hodnota generovaná SQL Serverem).

Anotaci sql:identity lze přiřadit dvě hodnoty:

ignorovat
Přikazuje updategramu, aby ignoroval jakoukoli hodnotu uvedenou v updategramu pro daný sloupec a spoléhal se na SQL Server při generování hodnoty identity.

useValue
Instruuje updategram, aby použil hodnotu uvedenou v updategramu k aktualizaci sloupce typu IDENTITY. Updategram nekontroluje, zda je sloupec identitní hodnotou či nikoliv.

Pokud aktualizační gram specifikuje hodnotu pro sloupec typu IDENTITY, musí být ve schématu uvedena sql:identity="useValue".

sql:guid Annotation

Updategram může nechat SQL Server vygenerovat GUID hodnotu a poté ji použít v updategramu. V kontextu DiffGrams můžete pomocí anotace sql:guid určit, zda použít hodnotu GUID generovanou SQL Serverem, nebo hodnotu uvedenou v updategramu pro daný sloupec.

Anotaci sql:guid lze přiřadit dvě hodnoty:

generovat
Specifikuje, že pro tento sloupec v aktualizační operaci musí být použit GUID generovaný SQL Serverem.

useValue
Specifikuje, že hodnota uvedená v updategramu má být použita pro sloupec. Toto je výchozí hodnota.