Share via


Suppression de données à l'aide de codes de mise à jour (updategrams) XML (SQLXML 4.0)

S’applique à :SQL ServerAzure SQL Database

Un programme de mise à jour indique une opération de suppression lorsqu’un instance d’enregistrement apparaît dans le <bloc avant> sans enregistrement correspondant dans le <bloc après>. Dans ce cas, le programme de mise à jour supprime l’enregistrement dans le <bloc avant> de la base de données.

Voici le format du code de mise à jour pour une opération de suppression :

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

Vous pouvez omettre la <balise after> si le programme de mise à jour n’effectue qu’une opération de suppression. Si vous ne spécifiez pas l’attribut de schéma de mappage facultatif, l’elementName<> spécifié dans le programme de mise à jour est mappé à une table de base de données et les éléments ou attributs enfants sont mappés aux colonnes de la table.

Si un élément spécifié dans le programme de mise à jour correspond à plusieurs lignes de la table ou ne correspond à aucune ligne, le code de mise à jour retourne une erreur et annule l’intégralité <du bloc de synchronisation> . Un seul enregistrement peut être supprimé à la fois par un élément dans le code de mise à jour.

Exemples

Les exemples dans cette section utilisent le mappage par défaut (en d'autres termes, aucun schéma de mappage n'est spécifié dans le code de mise à jour). Pour plus d’exemples de mises à jour qui utilisent des schémas de mappage, consultez Spécification d’un schéma de mappage annoté dans un updategram (SQLXML 4.0) .

Pour créer des exemples de travail à l’aide des exemples suivants, vous devez répondre aux exigences spécifiées dans Configuration requise pour l’exécution d’exemples SQLXML.

R. Suppression d'un enregistrement à l'aide d'un code de mise à jour

Les codes de mise à jour suivants suppriment deux enregistrements de la table HumanResources.Shift.

Dans ces exemples, le code de mise à jour ne spécifie pas de schéma de mappage. Par conséquent, le code de mise à jour utilise le mappage par défaut, dans lequel le nom d'élément est mappé à un nom de table et les attributs ou sous-éléments sont mappés aux colonnes.

Ce premier programme de mise à jour est centré sur les attributs et identifie deux décalages (Jour-Soir et Soir-Nuit) dans le <bloc avant> . Étant donné qu’il n’existe aucun enregistrement correspondant dans le <bloc après> , il s’agit d’une opération de suppression.

<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>  
Pour tester le code de mise à jour
  1. Complétez l’exemple B (« Insertion de plusieurs enregistrements à l’aide d’un updategramme ») dans Insertion de données à l’aide de mises à jour XML (SQLXML 4.0) .

  2. Copiez le code de mise à jour ci-dessus dans le Bloc-notes et enregistrez-le en tant que Updategram-RemoveShifts.xml dans le même dossier que celui utilisé pour terminer (« Insertion de plusieurs enregistrements à l’aide d’un updategramme ») dans Insertion de données à l’aide de mises à jour XML (SQLXML 4.0).

  3. Créez et utilisez le script de test SQLXML 4.0 (Sqlxml4test.vbs) pour exécuter le code de mise à jour (updategram).

    Pour plus d’informations, consultez Utilisation d’ADO pour exécuter des requêtes SQLXML 4.0.

Voir aussi

Considérations de sécurité relatives au code de mise à jour (updategram) (SQLXML 4.0)