Oracle: сделать таблицу WORM (одна запись, чтение много)? - PullRequest
2 голосов
/ 27 октября 2010

Контекст: таблица регистрации изменений, и мы не хотим случайно портить записи журнала. Это внутреннее нефинансовое приложение, поэтому нас не беспокоит враждебное изменение.

Я думал, что могу просто отменить удаление / обновление, но оказывается, что вы не можете сделать это для себя:

ORA-01749: you may not GRANT/REVOKE privileges to/from yourself

Какой самый канонический способ сделать это?

Ответы [ 2 ]

4 голосов
/ 27 октября 2010

Не следует использовать триггеры для обеспечения требований безопасности.

Вам следует создать таблицу, принадлежащую другой схеме, затем предоставить только необходимые привилегии (например, INSERT).

1 голос
/ 27 октября 2010

Создайте триггер BEFORE UPDATE и / или BEFORE DELETE для таблицы, который ВСЕГДА вызовет исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...