FirebirdSQL logo

Привилегия USAGE

Для использования объектов метаданных, отличных от таблиц, представлений, хранимых процедур и функций, триггеров и пакетов, в пользовательских запросах необходимо предоставить пользователю привилегию USAGE для этих объектов.Поскольку в Firebird хранимые процедуры и функции, триггеры и подпрограммы пакетов выполняются с привилегиями вызывающего пользователя, то при использовании таких объектов метаданных в них, может потребоваться назначить привилегию USAGE и для них.

Note

В Firebird 3 привилегия USAGE проверяется только для исключений (exception) и генераторов/последовательностей (в gen_id(gen_name, n) или next value for gen_name). Привилегии для других объектов метаданных могут быть включены в следующих релизах, если покажется целесообразным.

Note

Привилегия USAGE даёт права только на приращения генераторов (последовательностей) с помощью функции GEN_ID или конструкции NEXT VALUE FOR.Оператор SET GENERATOR является аналогом оператора ALTER SEQUENCE …​ RESTART WITH, которые относятся к DDL операторам.По умолчанию права на такие операции имеет только владелец генератора (последовательности). Права на установку начального значения любого генератора (последовательности) можно предоставить с помощью GRANT ALTER ANY SEQUENCE, что не рекомендуется для обычных пользователей.

Примеры предоставления привилегии USAGE

Example 1. Предоставление привилегии USAGE
-- Привилегия USAGE на последовательность выданная роли
GRANT USAGE ON SEQUENCE GEN_AGE TO ROLE MANAGER;

-- Привилегия USAGE на последовательность выданная триггеру
GRANT USAGE ON SEQUENCE GEN_AGE TO TRIGGER TR_AGE_BI;

-- Привилегия USAGE на исключение выданная пакету
GRANT USAGE ON EXCEPTION E_ACCESS_DENIED
TO PACKAGE PKG_BILL;