Раздел AS оператора CREATE TABLE
Использование раздела LIKE в операторе CREATE TABLE полезно, если в определение новой таблицы требуется включить полную копию структуры одной или нескольких существующих таблиц. Однако в некоторых случаях оказывается полезным скопировать только часть структуры существующих таблиц, а в общем случае – создать таблицу по образу некоторого выражения запросов.
Для этих целей предназначена расширенная форма оператора CREATE TABLE, включающая раздел AS. В этом случае используется следующая синтаксическая форма оператора CREATE TABLE:
CREATE TABLE table_name [ column_name_commalist ]
AS subquery { WITH NO DATA | WITH DATA }
При выполнении подобного оператора создается таблица со структурой (именами столбцов, их типами данных и т.д.) выражения запросов. Допускаются также возможности переименования столбцов и занесения в создаваемую таблицу строк, генерируемых при выполнении выражения запроса.
Выполнение оператора CREATE TABLE с разделом AS не приводит к порождению зависимости новой таблицы от определяющего ее выражения запросов. После начального заполнения новой таблицы обновления таблиц, над которыми задано выражение запросов, не будут автоматически отражаться в состоянии новой таблицы.