Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Банкомат как вид транзакции

Банкомат как вид транзакцииОдин из классических примеров транзакционной машины — это банкомат. Предположим, что вам срочно понадобилось 20 долларов и вы решили снять эту сумму с кредитной карточки в ближайшем банкомате. Вы вставляете карточку в банкомат и вводите PIN-код, чтобы инициировать сеанс работы. После того как банк удостоверился в вашей идентичности, вам предоставляется возможность указать снимаемую со счета сумму. Вы вводите число 20, и именно в этот момент инициируется транзакция. В эту транзакцию вовлечено несколько отдельных операций. Вначале банкомат проверяет, достаточно ли у вас денег на счету. Если это так, он вычитает деньги с вашего счета и выдает вам наличные купюры. Если какое-либо из этих действий завершается неудачей, транзакция прерывается и все возвращается в состояние, предшествовавшее транзакции. Это значит, что вы не сможете получить наличные, пока они не будут сняты с вашего счета, а банк не сможет вычесть запрошенную сумму со счета, если его баланс не позволяет покрыть транзакцию. (Разумеется, в любой момент вы сами можете прервать любую операцию, после чего будет выполнен полный откат транзакции.) Транзакционная модель, заложенная в стандарте ANSI/ISO SQL, определяет неявное начало транзакции и явное ее завершение инструкцией COMMIT в случае удачного завершения В стандарте SQL92/99 по умолчанию определены неявные транзакции. Когда в сеансе работы выполняется какая-либо инструкция SQL (DDL или DML), она открывает (или продолжает) транзакцию. Транзакция завершается инструкциями commit или rollback.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *