..


Liens sponsorisés

UPDATE de deux ou plusieurs tables

Article écrit par Max Bossi

Utilisation de la commande UPDATE, nous avons la possibilité d'agir sur les dossiers existants et modifiés.
Supposons, par exemple, ont, dans notre base de données, une table phone_numbers structuré comme suit:

  • Nom
  • téléphone
et dire que notre. table est déjà peuplée de trois dossiers:

Nom téléphone
Mario Rossi 123.456789
Antonio Bianchi 987.654321
Claudio Verdi 321.654987

Maintenant, disons que M. John Smith avait déménagé et, par conséquent, a changé le numéro de téléphone. Pour mettre à jour notre annuaire, nous utilisons une requête comme ceci:





 UPDATE







 phone_numbers







 Septembre







 Téléphone = '213 0,698547 '







 OÙ







 name = 'John Doe'



Jusqu'ici rien de nouveau.
Supposons maintenant que nous avons une autre table appelée adresses structuré comme suit:
  • Nom
  • par
  • la ville
  • prov
Supposons alors que ce tableau est déjà peuplé avec 3 enregistrements correspondant à l'adresse des trois amis déjà présents dans l'autre table:

Nom par devis prov
Mario Rossi Via Roma 11 Turin À
Antonio Bianchi Via Garibaldi 2 Gallarate VA
Claudio Verdi Piazza Cavour 4 Côme CO

Après cette longue introduction nous arrivons à la question qui donne le titre de cet article: Comment puis-je mettre à jour deux tables simultanément, soit en utilisant une seule requête au lieu de deux?
Simple, en utilisant une jointure de l'étape UPDATE!

Revenant à l'exemple nous utilisons d'abord une requête comme ceci:






 UPDATE







 phone_numbers







 INNER JOIN







 adresses







 SUR







 numeri_di_telefono.nome = indirizzi.nome







 Septembre







 numeri_di_telefono.telefono = '213 0,698547 »,







 indirizzi.via = 'Place de la République 5',







 indirizzi.citta = 'Londres',







 indirizzi.prov = 'MI'







 OÙ







 numeri_di_telefono.nome = 'John Doe'



Après l'exécution de l'UPDATE requête SELECT vérifiée par deux sur deux tables distinctes. Voici leurs résultats (surligné en jaune):

Phone_numbers tableau 1)

 



 SELECT * FROM phone_numbers

 
Nom téléphone
Mario Rossi 213.698547
Antonio Bianchi 987.654321
Claudio Verdi 321.654987

Table d'adresses 1)
 



 SELECT * FROM adresses

 
Nom par devis prov
Mario Rossi 5 Place de la République Milan MI
Antonio Bianchi Via Garibaldi 2 Gallarate VA
Claudio Verdi Piazza Cavour 4 Côme CO

L'avantage pratique d'une technique de mise à jour plusieurs tables, les relations entre eux, l'aide de jointures est de réduire la charge de travail du serveur basé sur un principe simple: "une requête vaut mieux que deux."

Dans la même catégorie ...
E-Learning
MS Access (Avancé) MS Access (Avancé)
Apprenez à créer et gérer des bases de données rapidement et facilement. A partir de 29 €.
MySQL (Cours) MySQL (Cours)
Gestion des bases de données open-source. A partir de 39 €.
SQL et bases de données (cours) SQL et bases de données (cours)
Créer et gérer des bases de données relationnelles. A partir de 39 €.
Liens sponsorisés