L'action Exécuter BD

www.altova.com Agrandir/Réduire tout Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Bases de données >

L'action Exécuter BD

L'action Exécuter BD (voir capture d'écran ci-dessous) est un mécanisme puissant pour modifier les données de BD. Vous pouvez insérer, supprimer, mettre à jour et enregistrer les données en utilisant les déclarations SQL. Cela permet d'utiliser la puissance du langage SQL à chaque fois qu'un événement se produit pendant le progrès de la solution.

MTDDBExecuteInsert01

Dans cette section, nous décrivons comment insérer, mettre à jour, supprimer et enregistrer les données en utilisant Exécuter BD. La commande pour modifier les données de BD est spécifiée dans la déclaration SQL de l'action (voir capture d'écran ci-dessus). Pour une description détaillée des paramètres de l'action Exécuter BD, voir la section Design de page > Actions > Base de données > Exécuter BD. Veuillez noter que la déclaration SQL de Exécuter BD confère une flexibilité supplémentaire puisqu'elle permet l'utilisation de paramètres. Les valeurs de ces paramètres sont générées par des expressions XPath. Voir la section action Exécuter BD pour plus de détails.

 

Si les données de BD sont affichées sur la même page que la page sur laquelle l'action est définie, vous devriez ajouter une action Recharger pour mettre à jour l'affichage de la BD modifiée (voir capture d'écran ci-dessus). Dans la capture d'écran ci-dessus, l'arborescence $DB1 est dans le nœud racine de la table de la base de données OfficeSales_DB. Après que OfficeSales_DB ait été modifiée avec la déclaration INSERT, l'arborescence $DB1 sur la page de design est rechargée, reprenant donc immédiatement la modification de la BD.

 

INSERT: Insérer les lignes avec Exécuter BD et SQL

La déclaration INSERT de SQL peut être utilisée pour insérer des lignes dans une table de base de données. La déclaration INSERT INTO sert à insérer des lignes avec des valeurs spécifiques, alors que la déclaration INSERT SELECT sert à insérer le résultat d'une déclaration SELECT dans une table. Vous pouvez aussi utiliser d'autres déclarations SQL, comme SELECT INTO, pour insérer des lignes dans une table.

MTDDBExecuteInsert01

Click to expand/collapseInsérer une seule ligne complétée ou une seule ligne partielle

Utiliser INSERT INTO pour insérer une seule ligne dans une table. La syntaxe SQL est :

 

INSERT INTO DestinationTable (ID, City) VALUES ('ID-Value', 'City-Value');

 

La déclaration ci-dessus insère une ligne contenant deux colonnes (ID et City) dans la table DestinationTable. Veuillez noter les points suivants :

 

Seules les colonnes qui sont spécifiées dans la déclaration SQL sont insérées dans la nouvelle ligne (ID, City dans l'exemple ci-dessus).
Pour insérer une ligne complète (contenant toutes les colonnes de table), spécifier toutes les colonnes de table dans la déclaration SQL.
Les noms de colonne et les valeurs de colonne dans la déclaration SQL doivent correspondre l'un à l'autre par leur position. Cet ordre de colonne ne doit pas nécessairement correspondre à l'ordre de colonne dans la table de BD. Cela signifie que si la conception de la table de BD change par la suite, la déclaration SQL sera toujours correcte et ne devra pas être mise à jour pour reprendre la conception modifiée.
Une valeur de colonne doit exister pour chaque nom de colonne. Sinon, une erreur sera générée et la ligne ne sera pas insérée.
Si une colonne est omise dans la déclaration SQL, cette colonne devra être définie dans la BD pour permettre des valeurs NULL (vides) ou pour avec une valeur par défaut ; sinon, une erreur sera générée et la ligne ne sera pas insérée.
Pour insérer des lignes multiples, spécifier plusieurs déclarations INSERT INTO.

 

 

Click to expand/collapseInsérer les résultats d'une déclaration SELECT

Utiliser INSERT SELECT pour insérer le résultat d'une déclaration SELECT dans une table. Généralement, INSERT SELECT est utilisé pour copier un ensemble de lignes d'une table à l'autre. La syntaxe SQL est :

 

INSERT SELECT Offices (ID, City, Country) SELECT ('ID', 'Stadt', 'Land'FROM Offices_DE ;

 

La déclaration ci-dessus insère toutes les lignes de la table Offices_DE dans la table Offices. Veuillez noter les points suivants :

 

Seules les colonnes spécifiées dans la déclaration SQL sont insérées dans la nouvelle ligne (ID, City, Country dans l'exemple ci-dessus).
Les colonnes retournées par la déclaration SELECT seront insérées dans les colonnes correspondantes de la table de destination. La correspondance des colonnes est déterminée par la position. Dans l'exemple ci-dessus, par exemple, la colonne Stadt, dans la position 2 dans la déclaration SELECT correspond à la colonne City, dans la position 2 dans la définition de la table de destination. Les noms des colonnes dans les deux définitions ne doivent pas nécessairement correspondre ; la correspondance est fixée par la position.
La déclaration SELECT peut utiliser une clause WHERE pour filtrer les données insérées.

 

 

UPDATE : Mise à jour des lignes avec Exécuter BD et SQL

La déclaration UPDATE de SQL peut être utilisée pour mettre à jour des lignes dans une table de base de données. La déclaration UPDATE contient trois parties :

 

Le nom de la table BD à mettre à jour
Les noms des colonnes à mettre à jour et leurs valeurs
Une clause WHERE pour filtrer les lignes à mettre à jour

 

Voici un exemple d'une déclaration SQL UPDATE :

 

UPDATE [AltovaMobile_Offices]

SET    [Office]  = 'New York',

       [Contact= 'Altova Johnson'

WHERE  [id]      = 11;

 

Cette déclaration met à jour la ligne avec id=11 depuis, par exemple, Office='USA' à Office='New York' et Contact=NULL à Contact='Altova Johnson'. La capture d'écran ci-dessous montre cet exemple de déclaration UPDATE dans les paramètres de déclaration SQL d'une action BD Exécuter.

MTDDBExecuteUpdate01

Veuillez noter les points suivants :

 

Les colonnes à mettre à jour sont indiquées par leurs combinaisons name=value avec laquelle chaque combinaison name=value est séparée de la suivante par une virgule. Il n'y a pas de virgule après la dernière combinaison name=value.
Toutes les colonnes à mettre à jour sont spécifiées avec une seule clause SET.
La valeur d'une colonne peut être supprimée en la configurant sur NULL, en assumant que les valeurs NULL sont permises pour cette colonne. Par exemple : SET [Contact] = NULL.

 

L'action Recharger recharge la BD modifiée immédiatement après que la modification ait été effectuée. Sans l'action Recharger, la modification ne sera pas affichée sur la page.

 

DELETE : Supprimer des lignes avec DB Execute et SQL

La déclaration DELETE de SQL peut être utilisée pour supprimer :

 

des lignes spécifiques d'une table (en spécifiant une clause WHERE pour sélectionner les lignes à supprimer)
toutes les lignes d'une table (en omettant la clause WHERE)

 

Voici un exemple d'une déclaration SQL DELETE :

 

DELETE FROM [AltovaMobile_Offices]

WHERE [id= 11;

 

La déclaration SQL DELETE ci-dessus supprime la ligne avec id=11. Si la clause WHERE est omise, toutes les lignes de la table AltovaMobile_Offices seront supprimées.

MTDDBExecuteDelete01

Une déclaration SQL DELETE dans une action DB Execute.

L'action Recharger recharge la BD modifiée immédiatement après la modification effectuée. Sans l'action Recharger, la modification ne sera pas affichée sur la page.

 


© 2019 Altova GmbH