Как указано в заголовке, возможно ли предотвратить обновление данных в таблице? Я попытался использовать следующий триггер
CREATE OR REPLACE TRIGGER block_payment_update BEFORE UPDATE ON payment DECLARE e_no_update_allowed EXCEPTION; BEGIN RAISE e_no_update_allowed; EXCEPTION WHEN e_no_update_allowed THEN dbms_output.put_line('Updating PAYMENT table is not allowed'); END;
Я знаю, что можно использовать LOCK TABLE statement с SHARE ROW EXCLUSIVE, но есть ли вероятность, что он также заблокирует вставку данных в таблицу?
LOCK TABLE statement
SHARE ROW EXCLUSIVE
Как и друзья, которые комментируют, вы можете REVOKE обновить привилегии в вашей базе данных, вот пример.
REVOKE
REVOKE UPDATE ON table to <username>
Информация, которая может быть полезна:
GRANT создает правило разрешений
REVOKE удаляет правило разрешений