Link Search Menu Expand Document

Создание логической таблицы

Чтобы создать логическую таблицу в логической базе данных, выполните запрос CREATE TABLE. При необходимости добавьте в запрос ключевое слово:

  • DATASOURCE_TYPE со списком СУБД хранилища — чтобы разместить данные таблицы только в некоторых СУБД хранилища;
  • LOGICAL_ONLY — чтобы создать таблицу только на логическом уровне.

Создание таблицы недоступно при наличии любого из факторов:

  • горячей дельты,
  • незавершенного запроса на создание, удаление или изменение таблицы или представления,
  • запрета на изменение сущностей (см. раздел DENY_CHANGES).

Наличие логической таблицы можно проверить, как описано в разделе Проверка наличия логической таблицы. Наличие физических таблиц, связанных с логической, можно проверить, как описано в разделе Проверка месторасположения логической сущности.

Каждое создание таблицы записывается в журнал. Журнал доступен с помощью запроса GET_CHANGES.

Примеры

Создание логической таблицы

-- выбор базы данных marketing по умолчанию
USE marketing;

-- создание таблицы sales
CREATE TABLE sales (
  id INT NOT NULL,
  transaction_date TIMESTAMP NOT NULL,
  product_code VARCHAR(256) NOT NULL,
  product_units INT NOT NULL,
  store_id INT NOT NULL,
  description VARCHAR(256),
  PRIMARY KEY (id)
)
DISTRIBUTED BY (id);

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

CREATE TABLE marketing.sales1 (
  id INT NOT NULL,
  transaction_date TIMESTAMP NOT NULL,
  product_code VARCHAR(256) NOT NULL,
  product_units INT NOT NULL,
  store_id INT NOT NULL,
  description VARCHAR(256),
  PRIMARY KEY (id)
)
DISTRIBUTED BY (id)
LOGICAL_ONLY

Создание логической таблицы с размещением данных в ADP и ADG

CREATE TABLE marketing.clients (
  id INT NOT NULL,
  first_name VARCHAR(256) NOT NULL,
  last_name VARCHAR(256) NOT NULL,
  patronymic_name VARCHAR(256),
  birth_date DATE,
  PRIMARY KEY (id)
) DISTRIBUTED BY (id)
DATASOURCE_TYPE (adp,adg)