DROP OWNED

Удаляет объекты базы данных, принадлежащие роли базы данных.

Синтаксис

DROP OWNED BY { <name> | CURRENT_USER | SESSION_USER } [, ...] [CASCADE | RESTRICT]

Описание

DROP OWNED удаляет все объекты в текущей базе данных, владельцем которых является одна из указанных ролей. Любые привилегии, предоставленные этим ролям на объекты в текущей базе данных или на общие объекты (базы данных, табличные пространства), также будут отозваны.

Параметры

  • name
    • Имя роли, объекты которой будут удалены, а привилегии — отозваны.
  • CASCADE
    • Автоматически удалять объекты, зависящие от затрагиваемых объектов, и далее все объекты, зависящие от них.
  • RESTRICT
    • Отказаться удалять объекты роли, если на один из затрагиваемых объектов ссылаются другие объекты базы данных. Это значение по умолчанию.

Замечания

DROP OWNED часто используется для подготовки удаления одной или нескольких ролей. Поскольку команда DROP OWNED влияет только на объекты текущей базы данных, обычно необходимо выполнить её в каждой базе данных, содержащей объекты удаляемой роли.

Использование опции CASCADE может привести к рекурсивному удалению объектов, принадлежащих другим пользователям.

Команда REASSIGN OWNED является альтернативой и позволяет передать владение всеми объектами базы данных, принадлежащими одной или нескольким ролям. Однако REASSIGN OWNED не обрабатывает привилегии на другие объекты.

Базы данных и табличные пространства, принадлежащие роли(ям), удалены не будут.

Примеры

Удалить все объекты базы данных, принадлежащие роли sally:

DROP OWNED BY sally;

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

Команда DROP OWNED является расширением Database.

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

REASSIGN OWNED, DROP ROLE