Няма пролем с C-то. Точно то си е напълно наред.
Явно очакваш, че при грешка се връща цялата транзакция (ROLLBACK) само, че такова изискване в стандарта няма.
Това дали да се върне цялата транзакция или само грешния оператор е оставено на усмотрението на разработчика. В случая можеш да интерпретираш този подход като частичен ROLLBACK (до контролна точка примерно)
За C-то това не е проблем. Виж за A-то може да се спори на теория.
На практика имаш избор - при грешка в отделен оператор решаваш как да продължишш - COMMIT или ROLLBACK, но вече на ниво приложение.Редактирано от salle на 05.12.09 01:12.