| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > вложенные транзакции |
| Автор: _AMD_ 6.2.2009, 11:25 | ||
есть код
все действия, которые находятся во вложенной транзакции не отменяются. почему? И еще один вопрос. Одна Stored-процедура начинает транзакцию, вызывает другую процедуру, в которой также есть своя транзакция. Вторая процедура может отменить свою транзакцию. Если это происходит то она сообщает об этом первой и и в свою очередь отменяет свою транзакцию. У меня вот такая ошибка: System.Data.SqlClient.SqlException: Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 1, current count = 0. The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. не понимаю в чем дело. |
| Автор: _AMD_ 6.2.2009, 14:21 |
| благодарю. методом проб и ошибок понял свою ошибку и переделал все процедуры. а уже потом прочитал Ваш ответ. |
| Автор: uranpro 26.10.2009, 17:40 | ||
| Добрый день! Продолжаю тему! Автор не пожелал поделиться выходом из ситуации =( Как реализовать такую конструкцию ?
|
| Автор: _AMD_ 27.10.2009, 01:22 |
| давно это было. немного забросил программирование. кажется я просто переделал код, чтобы было без вложенных транзакций. |
| Автор: uranpro 27.10.2009, 14:01 |
| понятно =( |
| Автор: Itsys 27.10.2009, 16:22 |
| uranpro, А у тебя конкретная проблема или так на уровне поинтересоваться? Водь всегда можно решить задачу без вложенных транзакций |
| Автор: uranpro 27.10.2009, 16:46 |
| есть приложение, которое работает с бд(больше пяти таблиц), все связанны с друг другом, начиная с первой до последней. т.е. если удалить строку из 1 таблы, то каскадом удалится во всех остальных. информация вносится по ступеням) хотелось реализовать что-то типа возможности отмены изменений на всех ступенях) придумывать велосипед что-то не хочется) думал может есть варианты у кого |
| Автор: Itsys 27.10.2009, 21:29 |
| Брр... тогда не понятно, зачем вложенные транзакции... Одна большая транзакция, которая фиксит все изменения во всех таблицах либо откатывает опять же все изменения... |