CREATE TABLE AS ОПЕРАТОР

Это учебное пособие Oracle объясняет, как в Oracle/PLSQL использовать CREATE TABLE AS с синтаксисом и примерами.

Описание

Oracle/PLSQL CREATE TABLE AS можно использовать, чтобы создать таблицу из существующей таблицы путем копирования столбцов существующей таблицы.

Важно отметить, что при создании таблицы таким образом, новая таблица будет заполнена записями из существующей таблицы (на основе оператора SELECT).

Создание таблицы – путем копирования всех столбцов из другой таблицы

Синтаксис

Синтаксис CREATE TABLE AS в Oracle PL/SQL, для копирования всех столбцов:

CREATE TABLE new_table
AS (SELECT * FROM old_table);

Пример

Рассмотрим пример CREATE TABLE AS, который создаст таблицу путем копирования всех столбцов из другой таблицы.

Например:

Этот пример будет создавать новую таблицу suppliers (поставщики), в которую включены все столбцы из таблицы companies (компании).
Если в таблице companies нет записей, то новая таблица suppliers будет заполнена записями, возвращенными оператором SELECT.

Создание таблицы – путем копирования выбранных столбцов из другой таблицы

Синтаксис

Синтаксис CREATE TABLE AS, для копирования выбранных столбцов в Oracle PL/SQL:

CREATE TABLE new_table
AS (SELECT column_1, column2, … column_n
FROM old_table);

Пример

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

Например:

Этот пример будет создать новую таблицу с наименованием suppliers. Новая таблица будет включать в себя только указанные столбцы (company_id, address, city, state и zip) из таблицы companies.
Кроме того, если в таблице companies будут записи, то новая таблица suppliers будет заполнена записями, возвращенными оператором SELECT.

Создание таблицы – путем копирования выбранных столбцов из нескольких таблиц

Синтаксис

Синтаксис CREATE TABLE AS, для копирования столбцов из нескольких таблиц в Oracle PL/SQL:

CREATE TABLE new_table
AS (SELECT column_1, column2, … column_n
FROM old_table_1, old_table_2, … old_table_n);

Пример

Рассмотрим пример CREATE TABLE AS, который показывает, как создать таблицу путем копирования выбранных столбцов из нескольких таблиц.

Например:

В этом примере будет создана новая таблиц с наименованием suppliers на основе столбцов определенных из двух таблиц companies и categories (company_id, address, category_type).

Часто задаваемые вопросы

Вопрос: Как я могу создать в Oracle/PLSQL таблицу из другой таблицы без копирования каких-либо данных из старой таблицы?

Ответ: Для того чтобы это сделать, в Oracle/PLSQL нужно применить CREATE TABLE AS со следующим синтаксисом:

CREATE TABLE new_table
AS (SELECT *
FROM old_table WHERE 1=0);

Например:

Это позволит создать новую таблицу с названием suppliers, в которую включены все столбцы из таблицы companies, но без каких-либо данных из таблицы companies.

Смотри также в категории: Таблицы и представления