Вставка с использованием подзапроса как целевого объекта

Подзапрос можно использовать вместо имени таблицы в предложении INTO инструкции INSERT.

Вставка с использованием подзапроса как целевого объекта

Список SELECT этого подзапроса должен иметь такое же количество столбцов, как и список столбцов предложения VALUES. Чтобы инструкция INSERT успешно функционировала, должны соблюдаться все правила, действующие в отношении столбцов базовой таблицы. Например, не допускается вводить дубликат идентификатора местоположения или не включать значение для обязательного столбца NOT NULL.

Такое применение подзапросов помогает избежать необходимости создания представления лишь для выполнения инструкции INSERT.

В примере на рисунке подзапрос используется вместо LOC, чтобы создать запись для нового европейского города.

Примечание. Операцию INSERT для представления EUROPEAN_CITIES можно также выполнить, воспользовавшись следующим программным кодом:

    INSERT INTO european_cities
VALUES (3300,’Cardiff’,’UK’);

Пример вставки с использованием подзапроса как целевого объекта

Проверьте результаты.

Пример вставки с использованием подзапроса как целевого объекта

В примере на рисунке показывается, что при вставке через встроенное представление была создана новая запись в базовой таблице LOC.

В следующем примере показываются результаты подзапроса, который использовался в целях идентификации таблицы для инструкции INSERT.

    SELECT l.location_id, l.city, l.country_id
FROM loc l
JOIN countries c
ON(l.country_id = c.country_id)
JOIN regions USING(region_id)
WHERE region_name = 'Europe‘

Далее: Сравнение даты и времени в часовом поясе сеанса

Статьи по теме
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)