Partager via


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

Un code de mise à jour indique une opération de suppression lorsqu'une instance d'enregistrement apparaît dans le bloc <before> sans enregistrements correspondants dans le bloc <after>. Dans ce cas, le code de mise à jour supprime l'enregistrement dans le bloc <before> 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 code de mise à jour effectue uniquement une opération de suppression. Si vous ne spécifiez pas l'attribut mapping-schema facultatif, le <ElementName> spécifié dans le code de mise à jour est mappé à une table de base de données et les éléments ou attributs enfants sont mappés aux colonnes dans la table.

Si un élément spécifié dans le code de mise à jour correspond à plusieurs lignes dans la table ou ne correspond à aucune de ligne, le code de mise à jour retourne une erreur et annule le bloc <sync> en entier. 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 obtenir des exemples supplémentaires de code de mise à jour qui utilisent des schémas de mappage, consultez Spécification d'un schéma de mappage annoté dans un code de mise à jour (updategram) (SQLXML 4.0).

Pour créer des exemples fonctionnels à l'aide des exemples suivants, les conditions spécifiées dans Configuration requise pour l'exécution des exemples SQLXML doivent être réunies.

A.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 code de mise à jour est centré sur les attributs et identifie deux décalages (Day-Evening et Evening-Night) dans le bloc <before>. Étant donné qu'il n'y a aucun enregistrement correspondant dans le bloc <after>, 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. Effectuez l'exemple B (« Insertion de plusieurs enregistrements à l'aide d'un code de mise à jour ») dans Insertion de données à l'aide de codes de mise à jour (updategrams) 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 dossier qui a été utilisé pour effectuer la procédure « Insertion de plusieurs enregistrements à l'aide d'un code de mise à jour » dans Insertion de données à l'aide de codes de mise à jour (updategrams) 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.

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

Voir aussi

Référence

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