..


Linki sponsorowane

UPDATE z dwóch lub więcej tabel

Artykuł napisany przez Max Bossi

Za pomocą polecenia UPDATE, mamy okazję do działania w istniejących rekordach i modyfikowane.
Załóżmy na przykład, w naszym DB, phone_numbers tabeli zorganizowany tak:

  • nazwa
  • telefon
i powiedzieć, że nasze. tabela jest już wypełniony 3 rekordy:

nazwa telefon
Mario Rossi 123.456789
Antonio Bianchi 987.654321
Claudio Verdi 321.654987

Teraz powiedzmy, że pan John Smith przeniósł, a więc zmienił numer telefonu. Aby uaktualnić nasze książki telefonicznej używamy zapytanie tak:





 UPDATE







 phone_numbers







 Wrzesień







 Telefon = '213 0.698547 "







 GDZIE







 name = "John Doe"



Jak na razie nic nowego.
Teraz załóżmy, że mamy innej tabeli nazywa adresy następującą strukturę:
  • nazwa
  • przez
  • miasto
  • prov
Załóżmy następnie, że ta tabela jest już wypełniony 3 rekordy pasujące do adresów trzech znajomych już w drugiej tabeli:

nazwa przez cytaty prov
Mario Rossi Via Roma 11 Turyn TO
Antonio Bianchi Via Garibaldi 2 Gallarate VA
Claudio Verdi Piazza Cavour 4 Como CO

Po tym długim wstępie dochodzimy do pytania, które daje tytuł do tego artykułu: Jak zaktualizować dwóch tabel jednocześnie, tj. za pomocą jednego zapytania zamiast dwóch?
Proste, za pomocą JOIN w krok UPDATE!

Wracając do przykładu najpierw użyć kwerendy tak:






 UPDATE







 phone_numbers







 INNER JOIN







 Adresy







 ON







 numeri_di_telefono.nome = indirizzi.nome







 Wrzesień







 numeri_di_telefono.telefono = '213 0,698547,







 indirizzi.via = "Plac Republiki 5 ',







 indirizzi.citta = 'London',







 indirizzi.prov = "MI"







 GDZIE







 numeri_di_telefono.nome = "John Doe"



Po uruchomieniu kwerendy SELECT UPDATE zweryfikowane przez dwa różne na dwóch stołach. Oto ich wyniki (zaznaczone na żółto):

1) phone_numbers tabeli

 



 SELECT * FROM phone_numbers

 
nazwa telefon
Mario Rossi 213.698547
Antonio Bianchi 987.654321
Claudio Verdi 321.654987

1) tabela adresów
 



 SELECT * FROM adresy

 
nazwa przez cytaty prov
Mario Rossi 5 Plac Republiki Mediolan MI
Antonio Bianchi Via Garibaldi 2 Gallarate VA
Claudio Verdi Piazza Cavour 4 Como CO

Praktyczną zaletą techniki aktualizacji wielu tabel, relacji między nimi, za pomocą JOIN jest zmniejszenie obciążenia serwera, oparte na prostej zasadzie: "zapytanie jest lepsze niż dwa".

W tej samej kategorii ...
E-Learning
MS Access (zaawansowane) MS Access (zaawansowane)
Dowiedz się, jak tworzyć i zarządzać bazami danych szybko i łatwo. Począwszy od 29 €.
MySQL (Kurs) MySQL (Kurs)
Zarządzanie bazą danych open-source. Od 39 €.
SQL i bazy danych (pole) SQL i bazy danych (pole)
Tworzenie i zarządzanie relacyjnymi bazami danych. Od 39 €.
Linki sponsorowane