DENY_CHANGES

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

Поддерживается в версиях:  6.2 / 6.1.1 / 6.0 / 5.8 / 5.7 / 5.6.1 / 5.5 / 5.4 / 5.3.

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

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

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

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

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

Синтаксис

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

Параметры:

db_name

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

code

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

Ограничения

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

Примеры

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

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

DENY_CHANGES(marketing)

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

USE marketing;
DENY_CHANGES();

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

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

DENY_CHANGES(marketing, 'my awesome code')

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

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

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

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