Создать таблицу из вида? - PullRequest
2 голосов
/ 22 ноября 2011

это возможно в MySQL? В Oracle я мог бы сделать:

SELECT *
INTO table
FROM view

В MySQL это не работает:

INSERT INTO table FROM view;

Помните, что таблица не существует. Я хочу, чтобы он был создан на основе вывода из представления.

Ответы [ 2 ]

5 голосов
/ 22 ноября 2011

В MySQL вы можете создать новую таблицу LIKE другую таблицу, но она не работает с представлениями.

Вы также можете создать новую таблицу, которая содержит все извыберите , который работает из представлений, выбирает, объединяет и все остальное.Обратите внимание, что новая таблица будет содержать все данные из выбора, поэтому вам нужно быть хитрым.Вот так.

create table table_from_view select * from view_name where 1 = 0;

Вы должны добавить индексы, если они вам понадобятся.

4 голосов
/ 22 ноября 2011

Вы можете добавить SELECT сразу после имени таблицы:

CREATE TABLE new_tbl SELECT * FROM orig_tbl;

Более подробная информация доступна здесь: http://dev.mysql.com/doc/refman/5.1/en/create-table-select.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...