Подзапрос можно использовать вместо имени таблицы в предложении INTO
инструкции INSERT
.
Список SELECT
этого подзапроса должен иметь такое же количество столбцов, как и список столбцов предложения VALUES
. Чтобы инструкция INSERT
успешно функционировала, должны соблюдаться все правила, действующие в отношении столбцов базовой таблицы. Например, не допускается вводить дубликат идентификатора местоположения или не включать значение для обязательного столбца NOT NULL
.
Такое применение подзапросов помогает избежать необходимости создания представления лишь для выполнения инструкции INSERT
.
В примере на рисунке подзапрос используется вместо LOC
, чтобы создать запись для нового европейского города.
Примечание. Операцию INSERT
для представления EUROPEAN_CITIES
можно также выполнить, воспользовавшись следующим программным кодом:
INSERT INTO european_cities |
Пример вставки с использованием подзапроса как целевого объекта
Проверьте результаты.
В примере на рисунке показывается, что при вставке через встроенное представление была создана новая запись в базовой таблице 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)
|
Далее: Сравнение даты и времени в часовом поясе сеанса