Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
A updategram törlési műveletet jelez, amikor egy rekordpéldány megjelenik az <előtti> blokkban, és az utána> blokkban nincs megfelelő rekord<. Ebben az esetben a updategram törli az adatbázisból az< előző> blokkban lévő rekordot.
Ez a updategram formátum egy törlési művelethez:
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:sync [mapping-schema="SampleSchema.xml"] >
<updg:before>
<ElementName />
[<ElementName .../>... ]
</updg:before>
[<updg:after>
</updg:after>]
</updg:sync>
</ROOT>
Ha az updategram csak törlési műveletet végez, kihagyhatod az <after> címkét. Ha nem megadod az opcionális mapping-séma attribútumot, az <updategramban megadott ElementName> egy adatbázis táblára kerül, míg a gyermekelemek vagy attribútumok a tábla oszlopaihoz fordulnak.
Ha egy updategramban megadott elem vagy több sorhoz egyezik a táblázatban, vagy nem egyezik meg egyetlen sorral, az updategram hibát ad vissza, és az egész <szinkronizálási> blokkot töröli. Egyszerre csak egy rekordot törölhet egy elem a updategramban.
Példák
Ebben a szakaszban szereplő példák alapértelmezett leképezést használnak (azaz a updategramban nincs megadva leképezési séma). A leképezési sémákat használó updategramokra további példákat az Updategramban (SQLXML 4.0) található jegyzetekkel ellátott leképezési séma megadása című témakörben talál.
Ha az alábbi példák alapján szeretne munkamintákat létrehozni, meg kell felelnie az SQLXML-példák futtatására vonatkozó követelményeknek.
A. Egy rekord törlése updategram használatával
A következő updategramok két rekordot törlik a HumanResources.Shift táblából.
Ezekben a példákban a updategram nem határoz meg leképezési sémát. Ezért a updategram alapértelmezett leképezést használ, ahol az elem neve a tábla névhez fordul, az attribútumok vagy alelemek pedig oszlopokhoz fordulnak.
Ez az első updategram attribútumközpontú, és két eltolódást (Day-Evening és Evening-Night) azonosít az <before> blokkban. Mivel az after blokkban nincs megfelelő rekord<, ez törlési művelet.>
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:sync >
<updg:before>
<HumanResources.Shift ShiftID="4"
Name="Day-Evening"
StartTime="1900-01-01 11:00:00.000"
EndTime="1900-01-01 19:00:00.000"
ModifiedDate="2004-01-01 00:00:00.000" />
<HumanResources.Shift ShiftID="5"
Name="Evening-Night"
StartTime="1900-01-01 19:00:00.000"
EndTime="1900-01-01 03:00:00.000"
ModifiedDate="2004-01-01 00:00:00.000" />
</updg:before>
<updg:after>
</updg:after>
</updg:sync>
</ROOT>
A updategram teszteléséhez
Teljes példa B ("Több rekord beillesztése egy updategram segítségével") a Adat beillesztése XML Updategrams segítségével (SQLXML 4.0) című műben.
Másold le a fenti updategramot a Notepadbe, és Updategram-RemoveShifts.xml úgy is elmentse ugyanabba a mappába, amelyet a Inserting Data using an updategrams (SQLXML 4.0) mappában használtak ("Több rekord beillesztése egy updategram segítségével") befejezéséhez.
Hozd létre és használd az SQLXML 4.0 Test Scriptet (Sqlxml4test.vbs) az updategram végrehajtásához.
További információ: SqlXML 4.0-lekérdezések végrehajtása az ADO használatával.