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