L'action Exécuter BD
L’action Exécuter BD (voir capture d'écran ci-dessous) est un mécanisme puissant de modification des données BD. Cela permet d'utiliser la puissance du langage SQL à chaque fois qu'un événement se produit pendant le progrès de la solution. Dans cette section, nous décrivons comment insérer, mettre à jour, supprimer et enregistrer les données en utilisant Exécuter BD.
Dans cette section, nous décrivons comment insérer, mettre à jour, et enregistrer des données en utilisant Exécuter BD. La commande pour modifier les données de BD est spécifiée dans les déclaration SQL de l’action (voir la capture d'écran ci-dessus). Pour une description détaillée des paramètres de l’action BD Exécuter, voir la section 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 des 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.
INSÉRER : 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.
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 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 entière (contenant toutes les colonnes de table), spécifier toutes les colonnes de table contenues 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 mise en page de la table BD change ultérieurement, la déclaration SQL sera toujours correcte et ne devra pas être mise à jour pour montrer les modifications de mise à jour. •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 plusieurs lignes, spécifier plusieurs déclarations INSERT INTO.
|
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 prendre note des 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 Execute DB.
Veuillez prendre note des 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.
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.