Như đã được trả lời ở trên, trong SQL, bạn có thể đặt các giao dịch ngầm cho kết nối của mình với SET IMPLICIT_TRANSACTIONS ON
cài đặt đó và sử dụng các liên kết mà Mark và Jack cung cấp.
Tôi sẽ thận trọng chống lại việc làm điều này trên bảng và thậm chí thực hiện nó thường xuyên trong các kết nối của riêng bạn. Mặt trái của việc thực hiện thay đổi này là bây giờ bạn có một giao dịch cho tất cả các hành động của mình. Nếu bạn không tự mình quản lý hoặc dọn dẹp, giờ đây bạn có thể có các giao dịch mở xung quanh việc chặn DML trong hệ thống của bạn.
Nếu bạn lo ngại về việc vô tình xóa / cập nhật các hàng sai khi thực hiện dọn dẹp thủ công, có một số tùy chọn tốt hơn:
- Sao lưu trước
- Trước tiên hãy sao lưu bảng bằng cách chọn tất cả các hàng vào một bảng mới (Chọn * vào tmpInCaseIMessUp_TableName_mw TỪ Tên bảng)
- Tập thói quen gõ
BEGIN TRANSACTION
trước khi viết cập nhật / chèn / xóa từ hệ thống ...
Đôi khi tôi sẽ bắt đầu một phiên và gõ
BEGIN TRAN
-- COMMIT TRAN
(đã bình luận để nó không xảy ra nhưng gõ nó để tôi không bận và quên)
Sau đó, tôi sẽ thực hiện công việc của mình sau khi bắt đầu tran, viết một câu lệnh chọn trong cùng một phiên hiển thị hình ảnh sau để đảm bảo rằng tôi đã không gây rối (hoặc chỉ dựa vào số lượng hàng bị ảnh hưởng, v.v.) và sau đó cam kết nếu tất cả có vẻ tốt.