Есть ли способ предотвратить обновление таблицы? - PullRequest
0 голосов
/ 09 января 2020

Как указано в заголовке, возможно ли предотвратить обновление данных в таблице? Я попытался использовать следующий триггер

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, но есть ли вероятность, что он также заблокирует вставку данных в таблицу?

1 Ответ

4 голосов
/ 09 января 2020

Как и друзья, которые комментируют, вы можете REVOKE обновить привилегии в вашей базе данных, вот пример.

REVOKE UPDATE ON table to <username>

Информация, которая может быть полезна:

GRANT создает правило разрешений

REVOKE удаляет правило разрешений

...