×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

6.1.171. SELECT INTO

6.1.171. SELECT INTO

SELECT INTO — создание новой таблицы из результатов запроса

Синтаксис

[ WITH [ RECURSIVE ] with_query [, ...] ]
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
    [ { * | expression [ [ AS ] output_name ] } [, ...] ]
    INTO [ TEMPORARY | TEMP | UNLOGGED ] [ TABLE ] new_table
    [ FROM from_item [, ...] ]
    [ WHERE condition ]
    [ GROUP BY expression [, ...] ]
    [ HAVING condition ]
    [ WINDOW window_name AS ( window_definition ) [, ...] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]
    [ ORDER BY expression [ ASC | DESC | USING оператор ] [ NULLS { FIRST | LAST } ] [, ...] ]
    [ LIMIT { count | ALL } ]
    [ OFFSET start [ ROW | ROWS ] ]
    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]
    [ FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] [...] ]

Описание

SELECT INTO создаёт новую таблицу и заполняет её данными, полученными в результате выполнения запроса. Данные не возвращаются клиенту, в отличие от обычного оператора SELECT. . Столбцы новой таблицы получают имена и типы данных, соответствующие выходным столбцам SELECT.

Параметры

TEMPORARY или TEMP

Если этот параметр указан, создается временная таблица. См. CREATE TABLE для получения подробной информации.

UNLOGGED

Если этот параметр указан, создается нежурналируемая таблица. См. CREATE TABLE для получения подробной информации.

new_table

Имя (необязательно дополненное именем схемы) создаваемой таблицы.

Все остальные параметры подробно описаны в разделе SELECT.

Примечания

CREATE TABLE AS функционально аналогична команде SELECT INTO. CREATE TABLE AS является предпочтительным синтаксисом, поскольку такая форма SELECT INTO не поддерживается в ECPG или PL/pgSQL, так как они интерпретируют INTO предложение иным образом. Кроме того, CREATE TABLE AS предоставляет расширенный набор функциональных возможностей по сравнению с SELECT INTO.

В отличие от CREATE TABLE AS, SELECT INTO не позволяет определять такие свойства, как метод доступа к таблице, с помощью USING метод или табличное пространство таблицы с помощью TABLESPACE tablespace_name. Используйте CREATE TABLE AS при необходимости. Таким образом, для новой таблицы выбирается метод доступа по умолчанию. См. default_table_access_method для получения дополнительной информации.

Примеры

Создание новой таблицы films_recent , состоящей только из последних записей таблицы films:

SELECT * INTO films_recent FROM films WHERE date_prod >= '2002-01-01';

Совместимость

Стандарт SQL использует SELECT INTO для обозначения выборки значений в скалярные переменные вызывающей программы, а не для создания новой таблицы. Именно такое использование предусмотрено в ECPG (см. Глава 4.3) и PL/pgSQL (см. Глава 5.6). Использование Digital Q.DataBase использование SELECT INTO для обозначения создания таблицы является исторически сложившимся. Некоторые другие реализации SQL также используют SELECT INTO таким образом (хотя большинство реализаций SQL поддерживают CREATE TABLE AS вместо этого). Помимо соображений совместимости, в новом коде для этой цели лучше всего использовать CREATE TABLE AS for this purpose in new code.

См. также

CREATE TABLE AS
Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению