ALTER EXTERNAL TABLE

Изменение определения внешней таблицы.

Синтаксис

ALTER EXTERNAL TABLE name action [, ... ]

При этом action представляет собой:

  ADD [COLUMN] new_column type
  DROP [COLUMN] column [RESTRICT|CASCADE]
  ALTER [COLUMN] column TYPE type
  OWNER TO new_owner

Описание

ALTER EXTERNAL TABLE изменяет определение существующей внешней таблицы. Ниже перечислены действия, поддерживаемые командой ALTER EXTERNAL TABLE.

  • ADD COLUMN — добавить новый столбец в определение внешней таблицы.
  • DROP COLUMN — удалить столбец из определения внешней таблицы. При удалении столбцов из внешних таблиц только для чтения изменение применяется исключительно к определению таблицы в YMatrix. Ключевое слово CASCADE используется в случаях, когда другие объекты зависят от этих столбцов, например, представление зависит от удаляемого столбца.
  • ALTER COLUMN TYPE — изменить тип данных столбца таблицы.
  • OWNER — изменить владельца внешней таблицы на указанного пользователя.

Эти операции могут быть выполнены над внешней таблицей с помощью команды ALTER TABLE.

  • Установка (изменение) режима таблицы
  • Переименование таблицы
  • Переименование столбцов таблицы

Для изменения владельца внешней таблицы необходимо использовать команду ALTER EXTERNAL TABLE или ALTER TABLE. Чтобы изменить схему внешней таблицы, пользователь должен также обладать привилегией CREATE в новой схеме. Для изменения владельца пользователь должен быть прямым или косвенным членом новой роли-владельца, которая должна иметь привилегию CREATE для схемы внешней таблицы. Суперпользователи автоматически обладают этими правами.

Изменение определения внешней таблицы с помощью команд ALTER EXTERNAL TABLE или ALTER TABLE не влияет на внешние данные.

Команды ALTER EXTERNAL TABLE и ALTER TABLE не позволяют изменять тип внешней таблицы (чтение, запись, веб-страница), информацию о формате (FORMAT) или расположение внешних данных. Для изменения этих параметров необходимо удалить и заново создать определение внешней таблицы.

Параметры

name

  • Имя существующей внешней таблицы, подлежащей изменению (может указываться с указанием схемы).

column

  • Имя существующего столбца.

new_column

  • Имя нового столбца.

type

  • Тип данных нового столбца либо новый тип данных существующего столбца.

new_owner

  • Новое имя роли-владельца внешней таблицы.

CASCADE

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

RESTRICT

  • Запрещать удаление столбцов, имеющих зависимости; значение по умолчанию.

Примеры

Добавление нового столбца в определение внешней таблицы:

ALTER EXTERNAL TABLE ext_expenses ADD COLUMN manager text;

Изменение владельца внешней таблицы:

ALTER EXTERNAL TABLE ext_data OWNER TO jojo;

Изменение типа данных столбца во внешней таблице:

ALTER EXTERNAL TABLE ext_leads ALTER COLUMN acct_code TYPE integer;

Совместимость

ALTER EXTERNAL TABLE является расширением языка SQL в YMatrix. В стандартных SQL-инструкциях и PostgreSQL команда ALTER EXTERNAL TABLE отсутствует.

Смотрите также

CREATE EXTERNAL TABLE, DROP EXTERNAL TABLE, ALTER TABLE