我不太熟悉游标,但我只需要知道一件相对简单的事情。看看下面脚本的结构,并注意光标在哪里实例化,在哪里关闭/释放。如果脚本在我编写/* most of the code here */的地方死锁,事务被回滚,然后重试,那么当脚本尝试fetch next时会发生什么?由于执行从未到达close/deallocate游标行,因此我感觉在第二次尝试时
我有一个用Transact-SQL编写的迁移脚本,它使用事务,以便在执行过程中出现错误时进行适当的回滚。不幸的是,当我在脚本中使用一些GO实用程序语句时,这种回滚行为并不能像预期的那样工作。这个问题可以用一个简单的脚本重现: BEGIN TRANSACTION
-- Create a table with two nullable column