Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Ett updategram indikerar en borttagningsoperation när en postinstans visas i före-blocket<> utan motsvarande poster i <efter-blocket>. I detta fall tar updategrammet bort posten i <före-blocket> från databasen.
Detta är updategram-formatet för en borttagningsoperation:
<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>
Du kan utelämna efter-taggen<> om updategrammet bara utför en borttagningsoperation. Om du inte specificerar det valfria mappningsschema-attributet , mappas <ElementName> som anges i updategramet till en databastabell och barnelementen eller attributen mappas till kolumnerna i tabellen.
Om ett element som anges i updategrammet antingen matchar mer än en rad i tabellen eller inte matchar någon rad alls, returnerar updategrammet ett fel och avbryter hela <synkroniseringsblocket> . Endast en post åt gången kan raderas av ett element i uppdateringsgrammet.
Examples
Exempel i detta avsnitt använder standardmappning (det vill säga, inget mappningsschema specificeras i updategrammet). Fler exempel på uppdateringsgram som använder mappningsscheman finns i Ange ett kommenterat mappningsschema i ett Updategram (SQLXML 4.0).
Om du vill skapa arbetsexempel med hjälp av följande exempel måste du uppfylla de krav som anges i Krav för att köra SQLXML-exempel.
A. Radera en post genom att använda ett updategram
Följande uppdateringsgram tar bort två poster från tabellen HumanResources.Shift.
I dessa exempel specificerar inte updategrammet något mappningsschema. Därför använder updategrammet standardmappning, där elementnamnet mappas till tabellnamnet och attributen eller delelementen mappas till kolumner.
Detta första uppdateringsgram är attributcentrerat och identifierar två skiften (Day-Evening och Evening-Night) i <före-blocket> . Eftersom det inte finns någon motsvarande post i efter-blocket<> är detta en borttagningsoperation.
<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>
För att testa updategrammet
Komplett exempel B ("Inserting multiple records by using a a updategram") i Inserting Data Using XML Updategrams (SQLXML 4.0).
Kopiera updategrammet ovan till Notepad och spara det som Updategram-RemoveShifts.xml i samma mapp som användes för att komplettera ("Inserting multiple records by using an updategram") i Inserting Data Using XML Updategrams (SQLXML 4.0).
Skapa och använd SQLXML 4.0 Test Script (Sqlxml4test.vbs) för att köra updategrammet.
Mer information finns i Använda ADO för att köra SQLXML 4.0-frågor.