Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để bạn đặt tự động gửi trong một phiên SQL Server?

Bạn có thể BẬT tự động gửi bằng cách TẮT implicit_transactions:

SET IMPLICIT_TRANSACTIONS OFF

Khi cài đặt BẬT, nó sẽ trở về chế độ giao dịch ngầm định. Trong chế độ giao dịch ngầm, mọi thay đổi bạn thực hiện đều bắt đầu một giao dịch mà bạn phải thực hiện theo cách thủ công.

Có thể một ví dụ rõ ràng hơn. Điều này sẽ ghi một thay đổi đối với cơ sở dữ liệu:

SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
COMMIT TRANSACTION

Điều này sẽ không ghi thay đổi đối với cơ sở dữ liệu:

SET IMPLICIT_TRANSACTIONS ON
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION

Ví dụ sau sẽ cập nhật một hàng và sau đó phàn nàn rằng không có giao dịch nào để cam kết:

SET IMPLICIT_TRANSACTIONS OFF
UPDATE MyTable SET MyField = 1 WHERE MyId = 1
ROLLBACK TRANSACTION

Giống như Mitch Wheat đã nói, autocommit là mặc định cho Sql Server 2000 trở lên.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Điền các ngày còn thiếu theo nhóm

  2. Chuyển đổi không thành công khi chuyển đổi giá trị varchar 'simple' thành kiểu dữ liệu int

  3. Định dạng số bằng cách đệm với các số không ở đầu trong SQL Server

  4. Làm thế nào để chạy cùng một truy vấn trên tất cả các cơ sở dữ liệu trên một phiên bản?

  5. Cách nhận dữ liệu 7 ngày qua từ ngày hiện tại đến 7 ngày qua trong máy chủ sql