DENY_CHANGES

Содержание раздела
  1. Результат выполнения
  2. Синтаксис
  3. Варианты ответа
  4. Ограничения
  5. Примеры
    1. Установка запрета без кода
    2. Установка запрета с кодом

Поддерживается в версиях:  6.9 / 6.8 / 6.7 / 6.6 / 6.5 / 6.4 / 6.3 / 6.2 / 6.1 / 6.0 / 5.8 / 5.7 / 5.6 / 5.5 / 5.4 / 5.3.

Запрос устанавливает временный запрет на создание, удаление и изменение сущностей логической базы данных, изменения которых регистрируются в журнале. Запрет устанавливается для всех видов логических сущностей, изменения которых регистрируются в журнале.

В запросе можно указать произвольный код, без которого снятие запрета будет невозможно.

Чтобы снять запрет на изменение сущностей, используйте запрос ALLOW_CHANGES.

Результат выполнения

После успешного выполнения запроса становится недоступно создание, удаление и изменение сущностей логической БД:

При установленном запрете остаются доступны все действия с данными.

Синтаксис

DENY_CHANGES([db_name[, 'code']])

Параметры:

db_name

Имя логической базы данных, для которой устанавливается запрет изменений. Опционально, если выбрана логическая БД, используемая по умолчанию.

code

Произвольный код-пароль, без которого будет невозможно снять запрет после установки. Опциональный параметр.

Варианты ответа

В ответе возвращается:

  • пустой объект ResultSet при успешном выполнении запроса;
  • исключение при неуспешном выполнении запроса.

Ограничения

Выполнение запроса недоступно при наличии другого запрета изменений или незавершенного запроса на создание, удаление или изменение логической таблицы, прокси-таблицы или представления.

Примеры

Установка запрета без кода

Установка запрета для указанной логической базы данных:

DENY_CHANGES(marketing)

Установка запрета для логической базы данных, выбранной по умолчанию:

USE marketing;
DENY_CHANGES();

Установка запрета с кодом

Установка запрета для указанной логической базы данных:

DENY_CHANGES(marketing, 'my awesome code')

Установка запрета для логической базы данных, выбранной по умолчанию:

USE marketing;
DENY_CHANGES('любой код');

На рисунке ниже показан пример ответа DROP VIEW после установки запрета изменений с помощью DENY_CHANGES. В ответе возвращается ошибка, поясняющая, что изменение логических сущностей запрещено.

Ответ на запрос удаления представления после установки запрета изменений