Tôi đã phân loại ra các điều giao dịch lồng nhau cả trong SQL server, và tôi đã lấp lánh những cốm hiểu biết về hành vi của lồng nhau xuyên:SQL Server 2005: Tại sao giao dịch tên?
- Khi làm tổ giao dịch, chỉ có ngoài cùng cam kết sẽ thực sự cam kết.
- "Cam kết Trans txn_name", khi lồng nhau , sẽ luôn áp dụng cho giao dịch trong cùng, ngay cả khi txn_name đề cập đến cho giao dịch bên ngoài.
- "ROLLBACK TRAN" (không có tên), ngay cả trong giao dịch bên trong, sẽ rollback tất cả giao dịch.
- "ROLLBACK TRAN txn_name" - txn_name phải tham chiếu đến tên txn ngoài cùng. Nếu không, nó sẽ thất bại.
Với những điều này, có lợi ích gì trong việc đặt tên giao dịch không? Bạn không thể sử dụng nó để nhắm mục tiêu một tranasction cụ thể, hoặc cho cam kết hoặc rollback. Chỉ dành cho mục đích nhận xét mã?
Cảm ơn,
Yoni
Một lý do nữa, không đáng để trả lời IMO, là [ở đây] (http://www.sqlskills.com/blogs/paul/code-to-show-rolled-back-transactions-after-a-crash/). –