Dmitry Yemanov пишет:
Vlad Khorsun wrote:
проверки делаются во время реальных действий, а не на всякий случай
Добавлю: под реальными действиями следует понимать изменение данных, а
не оператор DELETE.
Немножко ОФФ, но вспомнил такую ситуацию.
а вот например в таком триггере (смысла нет, это я от балды написал)
create trigger tr for table t1
active after update
as
begin
if current_user<>'SYSDBA' then exit;
delete from table t2;
end
В случае если у пользователя нет прав на удаление из t2 и он попробует
обновить t1 - выдается ошибка что нет прав на удаление из t2, хотя этот
оператор и не выполняется фактически. И даже если там в каком то
триггере который _может_быть_спровоцирован_ удалением из t2 на
некоктором шане у пользователя не будет прав на еще какую то таблицу -
тоже выдается ошибка...
Нельзя ли тоже чтобы он "на всякий случай" не проверял права, а
проверял только если идет попытка удаления?
С уважением,
Стариков Алексей