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