..


Sponsorerede links

UPDATE af to eller flere tabeller

Artikel skrevet af Max Bossi

Ved hjælp af UPDATE kommando, har vi mulighed for at handle på eksisterende registreringer og modificeret.
Antag, for eksempel, har, i vores DB, telefonnumre et bord struktureret sådan her:

  • navn
  • telefon
og sige, at vores. Bordet er allerede befolket med 3 records:

navn telefon
Mario Rossi 123.456789
Antonio Bianchi 987.654321
Claudio Verdi 321.654987

Lad os nu sige, at Mr. John Smith var flyttet, og derfor har ændret telefonnummer. At opgradere vores telefonbog bruger vi en forespørgsel som denne:





 UPDATE







 telefonnumre







 September







 Telefon = '213 0,698547 '







 HVOR







 name = 'John Doe'



Indtil videre ikke noget nyt.
Nu formoder, at vi har en anden tabel kaldet adresser struktureret som følger:
  • navn
  • af
  • by
  • PROV
Antag dernæst, at denne tabel allerede er befolket med 3 matchende poster til adresserne på tre venner allerede er til stede i den anden tabel:

navn af citater PROV
Mario Rossi Via Roma 11 Torino TIL
Antonio Bianchi Via Garibaldi 2 Gallarate VA
Claudio Verdi Piazza Cavour 4 Como CO

Efter denne lange introduktion kommer vi til det spørgsmål, som giver titlen til denne artikel: Hvordan kan jeg opdatere to borde samtidigt, dvs ved hjælp af en enkelt forespørgsel i stedet for to?
Enkel, ved hjælp af en JOIN i UPDATE skridt!

Vender tilbage til det eksempel, vi først bruge en forespørgsel som denne:






 UPDATE







 telefonnumre







 INNER JOIN







 adresser







 ON







 numeri_di_telefono.nome = indirizzi.nome







 September







 numeri_di_telefono.telefono = '213 0,698547 ',







 indirizzi.via = 'Republikkens Plads 5 ",







 indirizzi.citta = 'London',







 indirizzi.prov = 'MI'







 HVOR







 numeri_di_telefono.nome = 'John Doe'



Efter at have kørt forespørgslen SELECT UPDATE verificeret af to forskellige på to borde. Her er deres resultater (markeret med gult):

1) Tabel telefonnumre

 



 SELECT * FROM telefonnumre

 
navn telefon
Mario Rossi 213.698547
Antonio Bianchi 987.654321
Claudio Verdi 321.654987

1) adresse bordet
 



 SELECT * FROM adresser

 
navn af citater PROV
Mario Rossi 5 Square for Republikken Milan MI
Antonio Bianchi Via Garibaldi 2 Gallarate VA
Claudio Verdi Piazza Cavour 4 Como CO

Den praktiske fordel ved en teknik med at opdatere flere tabeller, relationer mellem dem, ved hjælp af join er at reducere arbejdsbyrden for den server, baseret på et enkelt princip: "en forespørgsel er bedre end to."

I den samme kategori ...
E-Learning
MS Access (Avanceret) MS Access (Avanceret)
Lær at oprette og administrere databaser hurtigt og nemt. Fra 29 €.
MySQL (Kursus) MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €.
SQL-og Database (Kursus) SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €.
Sponsorerede links