Тестирование реализации ПРД в отношении хранимых процедур и триггеров
Под пользователем категории RESOURCE (RES1) создаются хранимая процедура (res1.r1p1) и триггер (res1.r1tg1), в которых последовательно выполняются операции select, insert, update и delete над таблицей (res1.r1t1) этого пользователя. Затем проверяются коды завершения этих операции при вызове хранимой процедуры и триггера от имени различных пользователей: имеющего (RES1) и не имеющего (RES2) доступа к таблице и к процедуре.
Реализация
-
таблица: res1.r1t1, пользователь: RES1.
Действия: Исполнение процедуры res1.r1p1. Результат: успешное выполнение операций select, insert, update и delete в процедуре;
-
таблица: res1.r1t1, пользователь: RES1.
Действия: Выполнение действия, вызывающего триггер res1.r1tg1. Результат: успешное выполнение операций select, insert, update и delete в триггере;
-
таблица: res1.r1t1, пользователь: RES2.
Действия: Исполнение процедуры res1.r1p1. Результат: код завершения 1022;
-
таблица: res1.r1t1, пользователь: RES2.
Действия: Выполнение действия, вызывающего триггер res1.r1tg1. Результат: код завершения 1022 для всех операций select, insert, update и delete над таблицей res1.r1t1 в триггере, само действие (INSERT) завершается успешно;
-
процедура: res1.r1p1, пользователь: RES2.
Действие: попытка удалить процедуру. Результат: код завершения 2156;
-
триггер: res1.r1tg1, пользователь: RES2.
Действие: попытка удалить триггер. Результат: код завершения 2187.