Delen via


Gegevens verwijderen met XML Updategrams (SQLXML 4.0)

Van toepassing op:SQL ServerAzure SQL Database

Een updategram geeft een verwijderingsoperatie aan wanneer een recordinstantie verschijnt in het <voor-blok> zonder overeenkomstige records in het <na-blok> . In dit geval verwijdert het updategram het record in het <voor-blok> uit de database.

Dit is het updategramformaat voor een verwijderingsoperatie:

<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>  

Je kunt de <after-tag> weglaten als het updategram alleen een verwijderingsoperatie uitvoert. Als je het optionele mapping-schema-attribuut niet specificeert, wordt de <ElementName> die in het updategram wordt gespecificeerd gekoppeld aan een databasetabel en de kindelementen of attributen worden gekoppeld aan kolommen in de tabel.

Als een element dat in het updategram is gespecificeerd ofwel overeenkomt met meer dan één rij in de tabel of helemaal niet overeenkomt, geeft het updategram een foutmelding en annuleert het het gehele <synchronisatieblok> . Slechts één record tegelijk kan door een element in het updategram worden verwijderd.

Voorbeelden

Voorbeelden in deze sectie gebruiken standaardmapping (dat wil zeggen, er is geen mappingschema gespecificeerd in het updategram). Zie Een geannoteerd toewijzingsschema opgeven in een Updategram (SQLXML 4.0) voor meer voorbeelden van updategrammen die toewijzingsschema's gebruiken.

Als u werkvoorbeelden wilt maken met behulp van de volgende voorbeelden, moet u voldoen aan de vereisten die zijn opgegeven in Vereisten voor het uitvoeren van SQLXML-voorbeelden.

Eén. Een record verwijderen door gebruik te maken van een updategram

De volgende updategrammen verwijderen twee records uit de HumanResources.Shift-tabel.

In deze voorbeelden specificeert het updategram geen mappingschema. Daarom gebruikt het updategram standaardmapping, waarbij de elementnaam wordt toegewezen aan de tabelnaam en de attributen of subelementen aan kolommen.

Dit eerste updategram is attribuutgericht en identificeert twee verschuivingen (Day-Evening en Evening-Night) in het <voor-blok> . Omdat er geen overeenkomstig record in het <na-blok> is, is dit een verwijderingsoperatie.

<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>  
Om het updategram te testen
  1. Volledig voorbeeld B ("Meerdere records invoegen door een updategram te gebruiken") in Inserting Data Using XML Updategrams (SQLXML 4.0).

  2. Kopieer het bovenstaande updategram naar Notepad en sla het op als Updategram-RemoveShifts.xml in dezelfde map als die werd gebruikt om te voltooien ("Meerdere records invoegen door een updategram te gebruiken") in Inserting Data Using XML Updategrams (SQLXML 4.0).

  3. Maak het SQLXML 4.0 Test Script (Sqlxml4test.vbs) aan en gebruik het om het updategram uit te voeren.

    Zie ADO gebruiken om SQLXML 4.0-query's uit te voeren voor meer informatie.

Zie ook

Beveiligingsoverwegingen voor Updategram (SQLXML 4.0)