SQL Server: необходимо проверить изменение данных? - PullRequest
2 голосов
/ 19 августа 2010

После выполнения вставки / обновления / удаления необходимо запросить базу данных, чтобы проверить, правильно ли выполнено действие?

Edit:

Я принял ответ и хотел бы использовать его, чтобы убедить руководство.

Однако руководство настаивает на том, что существует вероятность того, что запрос на вставку / обновление / удаление может быть поврежден при передаче (но не будет ли проверка контрольной суммы сети?), И что я должен проверить, была ли каждая транзакция выполнено правильно. Возможно, они зависят от того факта, что контрольная сумма поврежденного пакета может столкнуться с контрольной суммой исходного пакета. Я думаю, что они растягивают это слишком далеко, и, по всей вероятности, не сделали бы это для моих собственных проектов. Тем не менее, я всего лишь младший программист и не могу сказать.

Ответы [ 3 ]

2 голосов
/ 19 августа 2010

Не должно быть.Коммерческая база данных вставляет / обновляет / удаляет (и все транзакции БД) по принципу ACID .

Wiki Цитата:

В информатике ACID (атомарность, согласованность, изоляция, долговечность) - это набор свойств, гарантирующих надежную обработку транзакций базы данных.

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

0 голосов
/ 19 августа 2010

Ты не должен. Вы можете использовать SQL (или ваши платформы программирования), встроенный в механизм обработки ошибок, чтобы увидеть, были ли ошибки, чтобы вы могли уведомить пользователя о том, что произошло что-то плохое, но в противном случае все транзакции БД следуют ACID (как упомянуто Полом), что означает, что если что-то Сбой пакета, откат всей партии.

0 голосов
/ 19 августа 2010

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

В зависимости от используемого уровня изоляции, вполне возможно, что ваши изменения будут заменены изменениями, выполненными другим запросом, выполняемым «в то же время» - важно ли это, зависит от того, что вы ожидаете в этих обстоятельствах.

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