запускает атомарность на уровне заявления - PullRequest
2 голосов
/ 07 декабря 2009

Что Oracle подразумевает под "атомарностью на уровне операторов"?

Ответы [ 3 ]

2 голосов
/ 07 декабря 2009

Давайте процитируем пару глав из Концепции:

Согласованность чтения на уровне выписки

Oracle всегда обеспечивает согласованность чтения на уровне операторов. Это гарантирует, что все данные, возвращаемые одним запросом, поступают из одного момента времени - времени начала запроса. Следовательно, запрос никогда не видит грязных данных или изменений, внесенных транзакциями, которые фиксируются во время выполнения запроса. Поскольку выполнение запроса продолжается, для запроса видны только данные, зафиксированные до начала запроса. Запрос не видит изменений, зафиксированных после начала выполнения оператора.

Откат на уровне выписки

Если в любое время во время выполнения оператор SQL вызывает ошибку, все эффекты оператора откатываются. Эффект отката такой, как будто этот оператор никогда не выполнялся. Эта операция является откатом на уровне операторов.

Сбой оператора SQL приводит к потере только той работы, которую он сам бы выполнил. Это не приводит к потере любой работы, которая предшествовала ему в текущей транзакции.

1 голос
/ 07 декабря 2009

Это означает, что любой отдельный оператор SQL, который вы выполняете, является атомарным по своей природе - он будет либо полностью успешным, либо полностью провальным. Если ваш SQL-оператор завершится неудачно, и триггеры, которые могли бы сработать в результате этого SQL-оператора, также не будут работать.

0 голосов
/ 07 декабря 2009

Это утверждение о характере транзакций: единица работы либо завершается успешно, либо завершается полностью. Если ваша транзакция состоит из двух вставок плюс обновление, а оператор обновления не выполнен, база данных выполнит откат всех трех операторов. Любой рекурсивный SQL или другой SQL, такой как тот, который включен в триггеры, включен в элементарную область транзакции. Узнайте больше.

Атомность означает A в ACID принципы управления транзакциями .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...