Partager via


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

S’applique à : SQL ServerAzure SQL Database

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

Si un élément spécifié dans le code 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 codes 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 (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.

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 Night-Night) 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. Exemple complet B (« Insertion de plusieurs enregistrements à l’aide d’un code de mise à jour ») dans l’insertion de données à l’aide de codes de mise à 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 code de mise à jour ») dans l’insertion de données à l’aide de codes de mise à 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, voir 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)