|
|
От: |
Sshur
|
http://shurygin-sergey.livejournal.com |
| Дата: | 11.02.10 09:06 | ||
| Оценка: | |||
create procedure test_proc
as
begin tran
ROLLBACK transaction
return
go
begin tran aa
exec test_proc
rollback tran aaMsg 266, Level 16, State 2, Procedure test_proc, Line 0
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 1, current count = 0.
Msg 3903, Level 16, State 1, Line 5
The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.
В хранимых процедурах инструкция ROLLBACK TRANSACTION без аргументов savepoint_name или transaction_name откатывает все инструкции к самой внешней инструкции BEGIN TRANSACTION. Вызов инструкции ROLLBACK TRANSACTION в хранимой процедуре является причиной того, что значение @@TRANCOUNT после завершения хранимой процедуры отличается от значения @@TRANCOUNT при выдаче хранимой процедурой информационного сообщения. Это сообщение не влияет на последующую обработку.