..


Рекламные ссылки

UPDATE из двух или более таблиц

Статья, написанная Максом Босси

Использование UPDATE команда, у нас есть возможность действовать на основе существующих документов и изменения.
Предположим, к примеру, в нашей БД, phone_numbers таблице структурированы следующим образом:

  • имя
  • телефон
и сказать, что наши. стол уже заполнен 3 записи:

имя телефон
Марио Росси 123.456789
Антонио Бьянки 987.654321
Клаудио Верди 321.654987

Теперь давайте представим, что г-н Джон Смит переехал, и, следовательно, изменился номер телефона. Для обновления нашей телефонной книге мы используем запрос:





 ОБНОВЛЕНИЕ







 phone_numbers







 Сентябрь







 Телефон = 0,698547 '213 '







 ГДЕ







 имя = 'John Doe'



Пока ничего нового.
Теперь предположим, что у нас есть другой таблицы с именем адреса структурирована следующим образом:
  • имя
  • по
  • город
  • пров
Допустим, что эта таблица уже заполнена 3 совпадающих записей с адресами трех друзей, уже присутствует в другой таблице:

имя по кавычки пров
Марио Росси Via Roma 11 Турин К
Антонио Бьянки Via Garibaldi 2 Gallarate В. А.
Клаудио Верди Piazza Cavour 4 Комо CO

После этого длинного введения мы приходим к вопросу, который дает право собственности на эту статью: Как я могу обновить двух таблиц одновременно, т.е. с помощью одного запроса, а не две?
Простые, используя JOIN в UPDATE шаг!

Возвращаясь к примеру сначала с помощью запроса следующим образом:






 ОБНОВЛЕНИЕ







 phone_numbers







 INNER JOIN







 Адреса







 О







 numeri_di_telefono.nome = indirizzi.nome







 Сентябрь







 numeri_di_telefono.telefono = 0,698547 '213 ',







 indirizzi.via = 'Площадь Республики, 5',







 indirizzi.citta = 'London',







 indirizzi.prov = 'Ми'







 ГДЕ







 numeri_di_telefono.nome = 'John Doe'



После выполнения запроса SELECT, UPDATE проверяется два различных по двум таблицам. Вот их результаты (выделены желтым цветом):

1) Таблица phone_numbers

 



 SELECT * FROM phone_numbers

 
имя телефон
Марио Росси 213.698547
Антонио Бьянки 987.654321
Клаудио Верди 321.654987

1) таблицы адресов
 



 SELECT * FROM адреса

 
имя по кавычки пров
Марио Росси 5 Площадь Республики Милан М. И.
Антонио Бьянки Via Garibaldi 2 Gallarate В. А.
Клаудио Верди Piazza Cavour 4 Комо CO

Практическое преимущество техники обновление нескольких таблиц, отношений между ними, использованием объединений заключается в снижении нагрузки на сервер на базе простой принцип: "Запрос лучше, чем два".

В той же категории ...
E-Learning
MS Access (хороший) MS Access (хороший)
Узнайте, как создавать и управлять базами данных быстро и легко. Начиная от 29 €.
MySQL (курс) MySQL (курс)
Управление с открытым исходным кодом базы данных. С 39 €.
SQL и базы данных (курс) SQL и базы данных (курс)
Создание и управление реляционными базами данных. С 39 €.
Рекламные ссылки