IF (:old_row.vozvrat IS NULL) THEN
SELECT Stoimost_prok
INTO Prok
FROM Film
WHERE :new_row.filmid=film.filmid;
Stoim:=(:new_row.vozvrat - :new_row.vidacha);
Itog:=Stoim*Prok;
DBMS_OUTPUT.PUT_LINE('-----------------------------------------');
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE('Kolichestvo dnei prokata:');
DBMS_OUTPUT.PUT_LINE(TO_CHAR(Stoim));
DBMS_OUTPUT.PUT_LINE('Obshaya summa k oplate:');
DBMS_OUTPUT.PUT_LINE(TO_CHAR(Itog));
DBMS_OUTPUT.PUT_LINE(' ');
DBMS_OUTPUT.PUT_LINE('-----------------------------------------');
END IF;
END IF;
END;
/
Запуск триггера на выполнение:
SQL> @trig274
Триггер создан.
Выполняем проверку работы триггера:
SQL> update dogovor
2 set vozvrat='20.11.2004'
3 where filmid=1 and clientid=2;
-----------------------------------------
Kolichestvo dnei prokata:
10
Obshaya summa k oplate:
1000
-----------------------------------------
Проверка в словаре данных:
SELECT TRIGGER_NAME, TRIGGER_TYPE, TABLE_NAME, TRIGGERING_EVENT
FROM USER_TRIGGERS
WHERE TRIGGER_NAME = ' trig274'
Задача 17.
ДАНО: В организацию пришло письмо «Вышлите нам сто тысяч», подписанное цифровой подписью 21. Подпись была сформирована на основе хэш-функции X.509 по упрощенной схеме (в десятичных кодах) с параметрами p=5, q=17 и начальным значением H0 = 2 и алгоритма RSA.
ТРЕБУЕТСЯ: Определить, следует ли высылать отправителю сто тысяч?
РЕШЕНИЕ:
А – 01 |
З – 08 |
О - 15 |
Х – 22 |
Ь – 29 |
Б – 02 |
И – 09 |
П – 16 |
Ц – 23 |
Э – 30 |
В – 03 |
Й – 10 |
Р – 17 |
Ч - 24 |
Ю – 31 |
Г – 04 |
К – 11 |
С – 18 |
Ш – 25 |
Я – 32 |
Д – 05 |
Л – 12 |
Т – 19 |
Щ – 26 |
_ - 33 |
Е – 06 |
М – 13 |
У – 20 |
Ъ – 27 |
|
Ж - 07 |
Н – 14 |
Ф- 21 |
Ы – 28 |
M1 |
M2 |
M3 |
M4 |
M5 |
M6 |
M7 |
M8 |
M9 |
M10 |
M11 |
M12 |
M13 |
M14 |
M15 |
M16 |
M17 |
M18 |
M19 |
M20 |
M21 |
в |
ы |
ш |
л |
и |
т |
е |
_ |
н |
а |
м |
_ |
с |
т |
о |
_ |
т |
ы |
с |
я |
ч |
3 |
28 |
25 |
12 |
9 |
19 |
6 |
33 |
14 |
1 |
13 |
33 |
18 |
19 |
15 |
33 |
19 |
28 |
18 |
32 |
24 |
1. Вычислить произведение двух простых чисел p и q:
n = pq = 5*17 = 85
2. Для каждого блока вычислить его хэш-код по формуле:
, т. е. каждый из блоков складывается с предыдущим и возводится в квадрат по модулю n. Полученное в итоге значение Hk и будет хэш-кодом.
H1 = (М1 + H0)2 mod85 = (3 + 2)2mod85 = 25
H2 = (М2 + H1)2 mod85= (28 + 25)2mod85 = 4
H3 = (М3 + H2)2 mod85= (25 + 4)2mod85 = 76
H4 = (М4 + H3)2 mod85= (12 + 76)2mod85 = 9
H5 = (М5 + H4)2 mod85= (9+ 9)2mod85 = 69
H6 = (М6 + H5)2 mod85= (19 + 69)2mod85 = 9
H7 = (М7+ H6)2 mod85= (6 + 9)2mod85 = 55
H8 = (М8 + H7)2 mod85= (33 + 55)2mod85 = 9
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.