Автоматический откат, если COMMIT TRANSACTION не достигается

Примите во внимание следующее:

START TRANSACTION;

BEGIN;

INSERT INTO prp_property1 (module_name,environment_name,NAME,VALUE) VALUES ('','production','','300000');

/** Assume there is syntax error SQL here...**/
Blah blah blah

DELETE FROM prp_property1 WHERE environment_name = 'production';

COMMIT TRANSACTION;

Вопрос:

Я заметил, что транзакция автоматически откатывается, и попытка вставки записи завершается неудачно.

Если я этого не сделаю, предоставить обработчик ошибок или проверку ошибок вместе с ROLLBACK TRANSACTION , как указано выше, безопасно ли это, поскольку кажется, что выполняется работа в примере, подобном выше, потому что COMMIT TRANSACTION никогда не выполняется?

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

17
задан Koekiebox 25 May 2011 в 09:00
поделиться