Chúng ta có thể sử dụng giao dịch trong thủ tục được lưu trữ không?
Chúng ta có thể sử dụng giao dịch trong thủ tục được lưu trữ không?

Video: Chúng ta có thể sử dụng giao dịch trong thủ tục được lưu trữ không?

Video: Chúng ta có thể sử dụng giao dịch trong thủ tục được lưu trữ không?
Video: Những giao dịch đất đai không được pháp luật công nhận | Pháp luật Cuộc sống | THDT 2024, Tháng mười một
Anonim

Nếu như chúng tôi có nhiều hơn một câu lệnh SQL được thực thi trong thủ tục lưu trữ và chúng tôi muốn khôi phục bất kỳ thay đổi nào được thực hiện bởi bất kỳ câu lệnh SQL nào trong trường hợp xảy ra lỗi do một trong các câu lệnh SQL, chúng ta có thể sử dụng giao dịch trong thủ tục được lưu trữ.

Chỉ vậy, các thủ tục được lưu trữ có chạy trong một giao dịch không?

Lồng nhau thủ tục lưu trữ là Thực thi bên trong Giao dịch bối cảnh của ngoài cùng thủ tục lưu trữ . Đây là thiết lập mặc định. Cung cấp hành vi mặc định được mô tả ở trên. Đó là, tất cả các câu lệnh SQL trong một thực hiện thủ tục được lưu trữ như một người duy nhất Giao dịch khối.

Ngoài phần trên, chúng ta có thể sử dụng commit trong thủ tục không? Nói chung, thủ tục không nên làm . nếu bạn làm bên trong của một kho lưu trữ thủ tục , bạn đang hạn chế khả năng tái sử dụng của nó bởi vì người gọi muốn thay đổi thủ tục để trở thành một phần của một giao dịch lớn hơn không thể chỉ đơn giản gọi là thủ tục trực tiếp.

Về điều này, chúng ta có thể sử dụng hàm transaction trong SQL không?

1 Câu trả lời. Đó là lý do tại sao giao dịch không cần thiết cho sql -người phục vụ chức năng . Tuy nhiên bạn có thể thay đổi Giao dịch mức độ cô lập, ví dụ, bạn có thể sử dụng Gợi ý NOLOCK để đạt được "đã đọc không cam kết" Giao dịch mức độ cô lập và đọc dữ liệu không được cam kết từ người khác giao dịch.

Chúng ta có thể sử dụng các giao dịch lồng nhau trong SQL nếu có thì làm thế nào?

SQL Máy chủ không thực sự hỗ trợ giao dịch lồng nhau . Chỉ có một Giao dịch tại một thời điểm. Cái này Giao dịch có một cơ bản giao dịch lồng nhau quầy, @@ TRANCOUNT. Mỗi lần bắt đầu liên tiếp Giao dịch gia số NS đếm từng cái một, từng cam kết Giao dịch giảm nó đi một.

Đề xuất: