Link Search Menu Expand Document

DENY_CHANGES

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

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

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

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

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

Синтаксис

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

Параметры:

  • db_name — имя логической базы данных, для которой устанавливается запрет изменений. Опциональный параметр, если выбрана логическая БД, используемая по умолчанию;
  • code — произвольный код-пароль, без которого будет невозможно снять запрет после установки. Опциональный параметр.

Ограничения

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

Примеры

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

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

DENY_CHANGES(sales)

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

DENY_CHANGES()

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

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

DENY_CHANGES(sales, 'my awesome code')

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

DENY_CHANGES('любой код')

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

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