cd6e8416

и новый остатки на счете



Перед изменением: BALANCE = 1000
Пользователь выполняет оператор:
update accounts set balance = 1200 where ACCOUNT_NO = ....
Старый и новый остатки на счете (balance) меньше 3,000, и условие аудита не выполняется; следовательно, аудит этого оператора не выполняется.




Перед изменением: BALANCE = 1000
Пользователь выполняет оператор:
update accounts set balance = 3200 where ACCOUNT_NO = ....
Новый остаток на счете больше 3,000, и условие аудита выполняется; следовательно, аудит этого оператора будет выполнен.




Перед изменением: BALANCE = 3200
Пользователь выполняет оператор:
update accounts set balance = 1200 where ACCOUNT_NO = ....
Новый остаток на счете меньше 3,000, но старый остаток больше. Следовательно, условие аудита выполняется, и аудит этого оператора будет выполнен.




Пользователь вставляет строку со старым значением столбца BALANCE < 3000.
insert into accounts values (9999,1200,'X');
Остаток на счете стал равен 1,200, условие аудита не выполняется, и аудит этого оператора не будет выполнен. Если бы значение столбца остатков было больше или равно 3,000, аудит был бы выполнен.




Пользователь вставляет строку с неопределенным (null) значением столбца остатков:
insert into accounts (account_no, status) values (9997, 'X');
Остаток на счете имеет неопределенное значение, и никакого значения по умолчанию для этого столбца не имеется; условие аудита не выполняется (в результате сравнения NULL >= 3000 всегда получается FALSE), и аудит этого оператора не будет выполнен. Важное замечание: если бы столбец аудита имел значение по умолчанию, превышающее 3,000, аудит оператора все равно не был бы выполнен даже несмотря на то, что значение столбца остатков вставленной строки превышает 3,000.


Содержание раздела