![]() |
![]() |
![]() |
SELECT INTO Создание повой таблицы по результатам команды SELECT. Синтаксис SELECT [ ALL | DISTINCT [ ON ( уникальное_выражение [. ...] ) ] ] цель [ AS выходное имя ] [, ...] [ INTO [ TEMPORARY | TEMP ] [ TABLE ] новая_таблица ] [ FROM источник [ { . | CROSS JOIN } ...] ] [ WHERE условие_фильтрации ] [ GROUP BY условие_группировки [, ...] ] [ HAVING агрегатное_усповие [, ...] ] [ { UNION | INTERSECT | EXCEPT } [ ALL ] подзапрос ] [ ORDER BY выражение [ ASC | DESC | USING оператор ] [. ...] ] [ FOR UPDATE [ OF таблица [, ...]]] [ LIMIT { число | ALL } [ { OFFSET | , } начало ] ] источник ::= { [ ONLY ] таблица [ * ] [ [ AS ] псевдоним_исгочника [ ( сгшсок_псевдонимов) ] ] | ( подзапрос ) [ [ AS ] псевдоним [ ( список_псевдонимов ) ] ] | источник [ NATURAL ] тип_объединения источник [ ON ( условие_обьединения ) USING ( список_полей_обьединения ) ] тип_обьединения ::= [ INNER | LEFT [ OUTER ] RIGHT [ OUTER ] | FULL [ OUTER ] ] JOIN Параметры Большая часть параметров команды SELECT INTO совпадает с параметрами команды SELECT. В команде SELECT INTO поддерживаются всего два новых параметра.
Результаты Возможные результаты перечислены в описаниях команд CREATE TABLE и SELECT. Описание Команда SELECT INTO выполняет запрос и использует полученные записи для заполнения новой (автоматически созданной) таблицы. Имена полей и типы данных новой таблицы определяются структурой записей, полученных в результате запроса. С функциональной точки зрения команда SELECT INTO эквивалентна команде CREATE TABLE AS. На практике рекомендуется использовать команду CREATE TABLE AS, поскольку команда SELECT INTO не является стандартной и неправильно интерпретируется PL/pgSQL. Пример Следующая команда создает временную таблицу для хранения записей о работниках, коды которых меньше 105: booktown=# SELECT * INTO TEMP TABLE old_emp booktown-# FROM employees booktown-# WHERE id < 105; SELECT |
![]() |
![]() |
![]() |