Altova MapForce 2023 Professional Edition

Lorsque vous créez une connexion de mappage dans une table de base de données, une touche Actions de base de données apparaît à côté de la table touchée. Cliquer sur cette touche pour ouvrir un dialogue Actions de table de base de données, à partir duquel vous pouvez configurer les actions insertion, mise à jour et supprimer, ainsi que d'autres options.

mf_db_actions_settings

Dialogue Actions de table de base de données

Ci-dessous, vous trouverez une description des paramètres disponibles dans le dialogue Actions de table de base de données.

 

Instruction SQL pour une exécution avant le premier enregistrement

Dans cette fenêtre de groupe, vous pouvez définir des instructions SQL qui sont exécutées avant toute action définie sous Actions à exécuter pour chaque enregistrement. Sélectionner le bouton radio désiré :

 

Aucun — Aucune action n'est effectuée. Il s'agit du paramètre par défaut.

SUPPRIMER tous les enregistrements — Tous les enregistrements provenant de la table sélectionnée sont supprimés avant que toute action de table spécifique définie dans la fenêtre de groupe Actions à exécuter pour tous les enregistrements soit effectuée. Cocher la case supprimer aussi tous les enregistrements dans toutes les tables enfants si vous souhaitez vous débarrasser des données stockées dans les tables enfant de la table sélectionnée. Pour consulter un exemple, voir Insérer des données dans plusieurs tables liées.

SQL personnalisé — Écrire une instruction SQL personnalisée pour toucher la table tout entière. Veuillez noter que la prise en charge pour plusieurs instructions SQL dans une requête dépend de la base de données, de la méthode de connexion et du pilote utilisé.

 

Actions à exécuter pour chaque enregistrement

Ce groupe de paramètres spécifie les actions de base de données qui doivent être effectuées par rapport à cette table lors de l'exécution du mappage. Pour gérer les actions de table, cliquer sur les touches Apposer Action, Insérer Action, ou Supprimer Action. Plusieurs actions peuvent être définies le cas échéant (par exemple, une action "Mettre à jour si..." suivie par une action "Insérer Rest".

 

Les actions de table définies sont traitées de gauche à droite. Dans l'exemple ci-dessus, l'action "Mettre à jour si..." est traitée en premier. Si la condition de mise à jour n'est pas satisfaite, l'action suivante sera traitée (dans cet exemple, l'action "Insérer Rest"). Veuillez noter les points suivants :

 

Toutes les conditions définies d'une action doivent être satisfaites pour que l'action de table soit exécutée. Lorsque cela est le cas, tous les champs pour lesquels une connexion existe entre les items de source et de cible dans le mappage sont mis à jour. Toutes action de table suivante (à la droite d'une action dont la condition est correspondante) sont ignorées pour cet enregistrement.

Si la condition définie n'est pas satisfaite, l'action de table est sautée et l'actions suivante (à droite) est traitée.

Si aucune des conditions n'est satisfaite, aucune action de table n'a lieu.

 

Toute action de table définie après les actions "Insérer tout" ou "Insérer Rest" ne sera jamais exécutée car aucune condition de colonne n'existe pour les actions d'insertion. Un dialogue apparaît lorsque cela est le cas indiquant que les colonnes d'action de table suivantes seront supprimées.

 

La case à cocher "NULL Equal", située à côté de chaque enregistrement, indique à MapForce que les valeurs null dans l'enregistrement de source doivent être traitées de manière égale avec des valeurs nulles dans l'enregistrement cible. Le fait de ne pas cocher cette case à cocher peut entraîner des résultats indésirables, voir Gérer des nulls dans des actions de table de base de données).

 

Lorsque le mappage met à jour une table qui possède des relations de clé étrangères vers d'autres tables, les options suivantes peuvent être utilisées :

 

Supprimer des données dans les tables enfants

Cette option est pertinente lorsque vous choisissez l'action "Mettre à jour si ..." pour une table parent. Il peut s'avérer nécessaire si le nombre d'enregistrement dans le fichier source est différent du nombre d'enregistrements dans la base de données de cible, et que vous souhaitez que la base de données reste synchronisée (pas de données orphelines dans les tables enfants). Voir aussi Options pour tables enfants lors de la mise à jour d'une table parent.

Ignorer les données enfant d'entrée

Utiliser cette option lorsque vous souhaitez mettre à jour une table de parent cible, sans toucher une des tables/enregistrements enfants de cette table. Voir aussi Options pour tables enfants lors de la mise à jour d'une table parent.

 

Pour consulter des exemples qui illustrent plusieurs combinaisons d'actions, voir :

 

Insérer des données dans une table

Insérer des données dans plusieurs tables liées

Mettre à jour une table

Options pour tables enfants lors de la mise à jour d'une table parent

Action "Mettre à jour si... Insérer Rest"

Action "Supprimer si..."

Action "Ignorer si..."

 

Utiliser des transactions

Active des transactions de base de données pour cette action de table particulière. Pour plus d'informations, voir Gérer les exceptions de la base de données.

 

Utiliser le Transfert Bulk

Active le transfert bulk (plusieurs instructions INSERT en tant qu'une seule requête). Les transferts Bulk sont pris en charge si le mappage est exécuté par MapForce Server et l'action de base de données est "Insérer tout". Pour plus d'informations, voir Insertions Bulk (MapForce Server).

© 2017-2023 Altova GmbH