2011-11-29 29 views
9

Tôi đã tìm kiếm cao và thấp và tôi không thể tìm thấy câu trả lời thỏa đáng cho câu hỏi của mình. Mà có xu hướng để đun sôi xuống như thế nào chính xác một TRANSACTION hoạt động trong SQL Server.TSQL - Vô hiệu hóa trình kích hoạt trong các giao dịch

Về cơ bản, điều này có làm được những gì tôi nghĩ không.

BEGIN TRAN 

DISABLE [my_update_trigger] ON [my_table] 

/*.. Do Some Updates ..*/ 

ENABLE [my_update_trigger] ON [my_table] 

COMMIT TRAN 

Tôi muốn để có thể sửa chữa một số dữ liệu trong một bảng, mà không cần chạy bản cập nhật gây tôi có trên bàn. Đây là một ứng dụng web, vì vậy tôi muốn đảm bảo rằng nếu cập nhật được thực hiện trên bảng từ ứng dụng web, trong khi tôi đang thực hiện công việc của mình, [my_update_trigger] sẽ vẫn kích hoạt ứng dụng web.

+1

bài Có hiện có thể giúp bạn [cách TSQL để vô hiệu hóa một kích hoạt trong phạm vi của một giao dịch] [1] [1]: http://stackoverflow.com/questions/174600/t-sql-is-there-a-way-to-disable-a-trigger-in-the-scope-of-a-transaction – Turbot

Trả lời

2

Các công cụ cập nhật là ok - vô hiệu hóa cho phép, vv

DISABLE TRIGGER [my_update_trigger] ON [my_table] 

/*.. Do Some Updates ..*/ 

ENABLE TRIGGER [my_update_trigger] ON [my_table] 

Có một cái nhìn tại trang MSDN: http://msdn.microsoft.com/en-us/library/ms189748.aspx

On làm cho nó phiên cụ thể mặc dù: Tôi muốn nghi ngờ nếu điều đó sẽ làm việc - disable/enabled là DDL thay vì DML, nghĩa là chúng hoạt động trên các đối tượng cơ sở dữ liệu thay vì dữ liệu. Tôi sẽ không có suy nghĩ này sẽ là trong phạm vi của một giao dịch

Các vấn đề liên quan