Иллюстрированный самоучитель по PostgreSQL

CREATE TABLE AS

Создание новой таблицы по результатам выборки.

Синтаксис:

CREATE TABLE таблица [ (поле [….]) ]
AS выборка

Параметры:

  • таблица. Имя создаваемой таблицы.
  • поле. Имя поля в создаваемой таблице; при перечислении нескольких полей их имена разделяются запятыми. Количество полей в таблице должно совпадать с количеством полей, возвращаемых в результате выборки.
  • выборка. Синтаксически правильная команда SELECT. Количество полей должно соответствовать количеству полей в необязательном списке, предшествующем секции AS.

Результаты:

  • SELECT. Сообщение возвращается при успешном создании и вставке данных в таблицу.
  • ERROR. CREATE TABLE/AS SELECT has mismatched column count. Ошибка – количество полей в списке, заключенном в круглые скобки, отличается от количества полей, возвращаемых командой SELECT.

Описание

Команда CREATE TABLE AS создает таблицу по записям, входящим в итоговый набор, например по результатам запроса к таблице, существующей в базе данных. Типы и содержимое полей новой таблицы определяются параметрами команды SELECT.

В PostgreSQL 7.1.x при явном перечислении полей в круглых скобках не допускается использование символа * в команде SELECT.

Пример

Следующая команда создает резервную копию всего содержимого таблицы books и сохраняет ее в таблице book_backup.

booktown=# CREATE TABLE book_backup
booktown-# AS SELECT * FROM books;
SELECT
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.