Hãy tưởng tượng kịch bản sau đây:giao dịch lồng nhau trong SQL Server
Tôi đang sử dụng SQL Server 2005. Tôi có một giao dịch mà đang kêu gọi, trong số những câu lệnh SQL khác, một thủ tục lưu trữ mà còn có một giao dịch bên trong. Giao dịch bên ngoài đôi khi không thành công và nó được khôi phục sau khi thủ tục được lưu trữ được gọi và được thực hiện thành công.
Câu hỏi của tôi là, cuộn lùi giao dịch của quy trình được lưu trữ có còn không?
Rollback sẽ rollback -all- giao dịch, không chỉ trước đó. EG: http://www.emoreau.com/Entries/Articles/2011/02/EricMoreau1.gif –
@ Pure.Krome là chính xác. Các giao dịch lồng nhau sẽ * không * làm những gì bạn muốn. Xem chuỗi [SQL Server Myth a Day] (http://www.sqlskills.com/blogs/paul/post/A-SQL-Server-DBA-myth-a-day-%282630%29-nested-transactions- are-real.aspx) –
Xác nhận: http://technet.microsoft.com/en-us/library/ms189336(v=sql.90).aspx – Vadzim