..


Gesponsorde links

UPDATE van twee of meer tabellen

Artikel geschreven door Max Bossi

Met behulp van de UPDATE commando, hebben we de mogelijkheid om bestaande records negeren en gewijzigd.
Stel, bijvoorbeeld, hebben in onze DB, een tafel gestructureerd als dit telefoon_nummers:

  • naam
  • telefoon
en zeggen dat onze. tafel is al gevuld met drie records:

naam telefoon
Mario Rossi 123.456789
Antonio Bianchi 987.654321
Claudio Verdi 321.654987

Nu laten we zeggen dat de heer John Smith was verhuisd en dus veranderd het telefoonnummer. Om te upgraden onze telefoon boek gebruiken we een vraag als deze:





 UPDATE







 telefoon_nummers







 September







 Telefoon = '213 0,698547 '







 WAAR







 naam = 'John Doe'



Tot zover niets nieuws.
Stel nu dat we nog een tabel met de naam-adressen als volgt opgebouwd:
  • naam
  • door
  • stad
  • prov
Stel vervolgens dat deze tabel al is bevolkt met 3 overeenkomende records aan de adressen van drie vrienden die reeds aanwezig is in de andere tabel:

naam door citaten prov
Mario Rossi Via Roma 11 Turijn OM
Antonio Bianchi Via Garibaldi 2 Gallarate VA
Claudio Verdi 4 Piazza Cavour Como CO

Na deze lange inleiding komen we bij de vraag die de titel geeft aan dit artikel: Hoe kan ik gelijktijdig bij te werken twee tafels, dat wil zeggen met behulp van een query in plaats van twee?
Eenvoudig, met behulp van een JOIN in de UPDATE stap!

Terugkerend naar het voorbeeld hebben we het eerste gebruik een query als deze:






 UPDATE







 telefoon_nummers







 INNER JOIN







 adressen







 OP







 numeri_di_telefono.nome = indirizzi.nome







 September







 numeri_di_telefono.telefono = '213 0,698547 ',







 indirizzi.via = 'Plein van de Republiek 5',







 indirizzi.citta = 'London',







 indirizzi.prov = 'MI'







 WAAR







 numeri_di_telefono.nome = 'John Doe'



Na het uitvoeren van de query SELECT UPDATE geverifieerd door twee verschillende op twee tafels. Hier zijn hun resultaten (geel gemarkeerd):

1) Tabel telefoon_nummers

 



 SELECT * FROM telefoon_nummers

 
naam telefoon
Mario Rossi 213.698547
Antonio Bianchi 987.654321
Claudio Verdi 321.654987

1) adres van tafel
 



 SELECT * FROM adressen

 
naam door citaten prov
Mario Rossi 5 Plein van de Republiek Milaan MI
Antonio Bianchi Via Garibaldi 2 Gallarate VA
Claudio Verdi Piazza Cavour 4 Como CO

Het praktische voordeel van een techniek van het bijwerken van meerdere tabellen, de relaties tussen hen, met behulp van JOINs is het verminderen van de werklast van de server op basis van een eenvoudig principe: "een query is beter dan twee."

In dezelfde categorie ...
E-Learning
MS Access (Advanced) MS Access (Advanced)
Leer hoe het maken en beheren databases snel en gemakkelijk. Vanaf 29 €.
MySQL (Cursus) MySQL (Cursus)
Beheer van de open source database. Van 39 €.
SQL en Database (Cursus) SQL en Database (Cursus)
Maken en beheren van relationele databases. Van 39 €.
Gesponsorde links