FirebirdSQL logo
 DOMAININDEX 

Изменение вычисляемых столбцов

Для вычисляемых столбцов (GENERATED ALWAYS AS или COMPUTED BY) позволяется изменить тип и выражение вычисляемого столбца.Невозможно изменить обычный столбец на вычисляемый и наоборот.

Example 1. Изменение вычисляемых столбцов
ALTER TABLE SALARY_HISTORY
ALTER NEW_SALARY GENERATED ALWAYS
AS (OLD_SALARY + OLD_SALARY * PERCENT_CHANGE / 100),
ALTER SALARY_CHANGE COMPUTED
BY (OLD_SALARY * PERCENT_CHANGE / 100);

Не изменяемые атрибуты

На данный момент не существует возможности изменить сортировку по умолчанию.

docnext count = 7

Предложение ALTER SQL SECURITY

Предложение ALTER SQL SECURITY позволяет изменить привилегии с которыми вычисляются вычисляемые столбцы.Если выбрана опция INVOKER, то вычисляемые столбцы вычисляются с привилегиями вызывающего пользователя.Если выбрана опция DEFINER, то вычисляемые столбцы вычисляются с привилегиями определяющего пользователя (владельца). По умолчанию вычисляемые столбцы вычисляются с привилегиями вызывающего пользователя.Кроме того триггеры наследуют привилегии выполнения у таблицы, если они не переопределены у самих триггеров.

ALTER TABLE COUNTRY
ALTER SQL SECURITY DEFINER;

Управление репликацией

Предложение ENABLE PUBLICATION включает таблицу в набор репликации (публикацию). Соответственно предложение DISABLE PUBLICATION исключает таблицу из набора репликации.

Example 1. Добавление таблицы в набор репликации
ALTER TABLE COUNTRY
ENABLE PUBLICATION;

Кто может изменить таблицу?

Выполнить оператор ALTER TABLE могут:

См. также:

CREATE TABLE, RECREATE TABLE.

DROP TABLE

Назначение

Удаление существующей таблицы.

Доступно в

DSQL, ESQL.

Синтаксис
DROP TABLE tablename
Table 1. Параметры оператора DROP TABLE
Параметр Описание

tablename

Имя таблицы.

Оператор DROP TABLE удаляет существующую таблицу.Если таблица имеет зависимости, то удаление не будет произведено.При удалении таблицы будут также удалены все триггеры на её события и индексы, построенные для её полей.

Example 1. Удаление таблицы
DROP TABLE COUNTRY;

Кто может удалить таблицу?

Выполнить оператор DROP TABLE могут:

См. также:

CREATE TABLE, RECREATE TABLE.

RECREATE TABLE

Назначение

Создание новой таблицы или пересоздание существующей.

Доступно в

DSQL.

Синтаксис
RECREATE [GLOBAL TEMPORARY] TABLE tablename
  [EXTERNAL [FILE] 'filespec']
  (<col_def> [, <col_def> | <tconstraint> ...])
  [ON COMMIT {DELETE | PRESERVE} ROWS]
  [SQL SECURITY {DEFINER | INVOKER}]

Полное описание определений столбцов и ограничений таблицы смотрите в разделе CREATE TABLE.

Создаёт или пересоздаёт таблицу.Если таблица с таким именем уже существует, то оператор RECREATE TABLE попытается удалить её и создать новую.Оператор RECREATE TABLE не выполнится, если существующая таблица имеет зависимости.

Примеры

Example 1. Создание или пересоздание таблицы
RECREATE TABLE COUNTRY (
  COUNTRY COUNTRYNAME NOT NULL PRIMARY KEY,
  CURRENCY VARCHAR(10) NOT NULL);
См. также:

CREATE TABLE, DROP TABLE.