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