Теперь обратимся к предложению SET. Подзапрос с функцией count вычисляет
количество перелетов по
каждому
направлению. Это коррелированный подза-
прос: он выполняется для каждой строки, отобранной в предложении WHERE. В
нем используется соединение временной таблицы sell_tickets с представлени-
ем flights_v. Это нужно для того, чтобы подсчитать все перелеты, соответству-
ющие паре атрибутов «город отправления — город прибытия», взятых из теку-
щей обновляемой строки таблицы tickets_directions. Этот подзапрос позволя-
ет учесть такой факт: рейсы могут иметь различные идентификаторы flight_id,
но при этом соответствовать одному и тому же направлению, а в таблице
tickets_directions учитываются именно направления.
В случае попытки повторного бронирования одного и того же перелета для дан-
ного пассажира, т. е. ввода строки с дубликатом первичного ключа, такая строка
будет отвергнута, и будет сгенерировано сообщение об ошибке. В таком случае
и таблица tickets_directions не будет обновлена.
Давайте посмотрим, что изменилось в таблице tickets_directions.
Достарыңызбен бөлісу: