@Jivax

Как реализовать триггер, запрещающий пользователю редактировать таблицу?

Здравствуйте! Помогите, пожалуйста решить проблему. Нужно написать триггер, использующий автономную транзакцию, запрещающий пользователю редактировать данные таблицы и сохраняющий информацию об этом в специальном журнале. Спасибо.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
idShura
@idShura
Такие вещи нужно правами на таблицу регулировать. Например:
GRANT INSERT, UPDATE, DELETE ON schema.tablename TO  username; --Дать права
REVOKE INSERT, UPDATE, DELETE ON schema.tablename FROM username; --Отозвать права

upd
Запись в специальный журнал это будет домашнее задание.
create or replace trigger MY_TRIGGER_NAME
  before insert or update or delete
     on MY_TABLE_NAME
begin
  if user in ( 'BAD_USER', 'ANGRY_USER' ) then raise_application_error( -20001,'You do not have access to modify this table.' );
  end if;
end;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы