Chapitre 09 Les requêtes de modification en langage SQL

editions.breal.fr

Chapitre 09 Les requêtes de modification en langage SQL

Chapitre 09Les requêtes de modification enlangage SQLIntroductionCe chapitre prolonge l'étude des requêtes en langage SQL en abordant les trois clausespermettant de modifier une base de données. Comme dans les chapitres précédents, lamise en situation s'appuie sur la base de données de facturation clients. L'étude d'unebase de données comptable est vue dans le TD d'application informatique.Les requêtes de modification sont assez fastidieuses à réaliser (pourquoi rédiger troislignes pour ne modifier qu'une valeur !) et cela peut être l'occasion de commencer àintroduire le rôle d'une interface utilisateur qui sera vu dans le chapitre suivant.Les exercices peuvent tous être traités sur l'outil informatique avec les fichiers donnés surle CDROM.Mise en situationIl peut être intéressant de travailler directement sur la base de données fournie sur leCDROM (les requêtes existent mais non pas été exécutées).Doc. 1 Les requêtes de modification1.INSERT INTO PRODUIT (Num_produit, Désignation_produit, Prix_HT )VALUES ("PR004", "Meuble haut", 340);DELETE FROM PRODUITWHERE Num_produit = "PR004";UPDATE PRODUITSET Prix_HT = 300WHERE Num_produit = "PR001";Ajout d'un nouvelenregistrementSuppression d'unenregistrementMise à jour d'unenregistrement2.Ajout:INSERT INTO (< liste de champ(s)>)VALUES ();Remarque : Il est possible d'ajouter plusieurs enregistrements en même temps, mais larequête en SQL est trop complexe à étudier pour des élèves de terminale.


Suppression:DELETE FROM < nom de table>WHERE ;Mise à jour:UPDATE < nom de table>SET = < nouvelles valeurs>WHERE ;Doc. 2 Extrait de la table CLIENT1.INSERT INTO CLIENT ( Num_client, Nom_client, Rue, Ville, Code_postal, Téléphone )VALUES (411004, "Dupond", "41 rue de Gironde", "Versailles", 78000, "01 39 15 48 74");2.DELETE FROM CLIENTWHERE Num_client="411004";Remarque :On peut aussi utiliser le critère de restriction suivant : Nom_client="Dupond" (il n'existe pasplusieurs "Dupond" dans la table. Dans le cas contraire l'ensemble des "Dupond" seraiteffacé.)3.UPDATE CLIENT SET Téléphone = "01 34 54 12 69"WHERE Num_client="411002";ExercicesEx. 1 Retrouver les requêtes de modification1.- Le contrat CT001 a été supprimé- Le montant du bail du contrat CT002 est passé de 1 100 à 1 130 euros- Le contrat CT004 a été ajouté2.DELETE FROM CONTRATWHERE Num_contrat = "CT001";UPDATE CONTRATSET Montant_bail = 1130WHERE Num_Contrat="CT002";INSERT INTO CONTRAT ( Num_contrat, Date_contrat, Date_début_location,Date_fin_location, Montant_bail )VALUES ("CT004", #6/30/2006#, #7/1/2006#, #7/1/2015#, 480);2 – Chapitre 09


1.DELETE FROM PLAN_DE_COMPTEWHERE Num_compte="665000";2.a) Achat de timbres le 15/08/2006. Pièce de caisse n°03. Montant 80 €. Ecriture n°12.INSERT INTO ECRITURE ( Num_écriture, Date_écriture, Libellé_écriture )VALUES ("12", #8/15/2006#, "Pièce de caisse n°03");INSERT INTO ENREGISTREMENT ( Num_écriture, Num_compte, Débit, Crédit )VALUES ("12", "626000", 80, 0);INSERT INTO ENREGISTREMENT ( Num_écriture, Num_compte, Débit, Crédit )VALUES ("12", "530000", 0, 80);b) Vente de marchandises le 17/08/2006 au client KAOLA. Facture n° 20060003 d'unmontant HT de 2 000 euros. Ecriture n°13.INSERT INTO ECRITURE ( Num_écriture, Date_écriture, Libellé_écriture )VALUES ("13", #8/17/2006#, "N/Facture 20060003");INSERT INTO ENREGISTREMENT ( Num_écriture, Num_compte, Débit, Crédit )VALUES ("13", "411002", 2392, 0);INSERT INTO ENREGISTREMENT ( Num_écriture, Num_compte, Débit, Crédit )VALUES ("13", "707000", 0, 2000);INSERT INTO ENREGISTREMENT ( Num_écriture, Num_compte, Débit, Crédit )VALUES ("13", "445710", 0, 392);3.Attention pour cette requête : le critère de restriction doit contenir l'ensemble de la cléprimaire : Num_écriture et Num_compte.UPDATE ENREGISTREMENT SET débit = 784WHERE Num_écriture=9 And Num_compte="445660";4.Il suffit d'aller voir les modifications effectuées dans chaque table (surtout la tableENREGISTREMENT).4 – Chapitre 09

More magazines by this user
Similar magazines