Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Определение нового внешнего объекта.
CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [
column_name data_type [ OPTIONS ( option 'value' [, ... ] ) ] [ COLLATE collation ] [ column_constraint [ ... ] ]
[, ... ]
] )
SERVER server_name
[ OPTIONS ( [ mpp_execute { 'master' | 'any' | 'all segments' } [, ] ] option 'value' [, ... ] ) ]
где column_constraint:
[ CONSTRAINT constraint_name ]
{ NOT NULL |
NULL |
DEFAULT default_expr }
Команда CREATE FOREIGN TABLE создает новую внешнюю таблицу в текущей базе данных. Пользователь, создающий внешнюю таблицу, становится её владельцем.
Если имя таблицы указано с указанием схемы (например, CREATE FOREIGN TABLE myschema.mytable ...), YMatrix создаст таблицу в указанной схеме. В противном случае внешняя таблица будет создана в текущей схеме. Имя внешней таблицы должно отличаться от имён всех других внешних таблиц, таблиц, последовательностей, индексов или представлений в этой же схеме.
Поскольку команда CREATE FOREIGN TABLE автоматически создает тип данных, представляющий составной тип, соответствующий строке внешней таблицы, имя внешней таблицы не может совпадать с именем любого существующего типа данных в той же схеме.
Для создания внешней таблицы необходимо иметь привилегии USAGE на внешнем сервере, а также привилегии USAGE для всех типов столбцов, используемых в таблице.
IF NOT EXISTS
table_name
column_name
data_type
NOT NULL
NULL
DEFAULT default_expr
server_name
OPTIONS ( option 'value' [, ... ] )
mpp_execute { 'master' | 'any' | 'all segments' }
Создание внешней таблицы с именем films с использованием сервера film_server:
CREATE FOREIGN TABLE films (
code char(5) NOT NULL,
title varchar(40) NOT NULL,
did integer NOT NULL,
date_prod date,
kind varchar(10),
len interval hour to minute
)
SERVER film_server;
CREATE FOREIGN TABLE в целом соответствует стандарту SQL; однако, как и CREATE TABLE, YMatrix допускает ограничения NULL и внешние таблицы без столбцов. Возможность задания значений по умолчанию является расширением YMatrix, равно как и параметр mpp_execute.