2010-12-31 41 views
13

Tôi cần xóa trình kích hoạt trong SQL Server. Có vẻ như nó phải đủ đơn giản, nhưng vì có một thứ gọi là "trình kích hoạt xóa", một trình kích hoạt được gọi khi xóa, có vẻ như không thể tìm thấy tài nguyên về cách thực sự xóa trình kích hoạt hiện có.Làm thế nào để xóa kích hoạt trong SQL Server?

+0

Chỉ cần chắc chắn rằng bạn không bỏ một kích hoạt mà là cần thiết cho toàn vẹn dữ liệu. Thả một kích hoạt bởi vì nó ngăn cản bạn làm một cái gì đó thường là một đầu mối mà những gì bạn muốn làm không phải là một ý tưởng tốt. Không bao giờ thả một kích hoạt mà không tham khảo ý kiến ​​của dba. – HLGEM

Trả lời

20

DROP TRIGGER:

Loại bỏ một hoặc nhiều trigger từ cơ sở dữ liệu hiện tại ...

Bạn có thể loại bỏ một kích hoạt bằng cách thả nó hoặc bằng cách thả bảng cò. Khi một bảng bị xóa, tất cả các trình kích hoạt có liên quan cũng bị loại bỏ. Khi một trình kích hoạt bị ngắt, thông tin về trình kích hoạt sẽ bị loại bỏ khỏi các bảng hệ thống sysobject và syscomments.

Sử dụng DROP TRIGGER và CREATE TRIGGER để đổi tên trình kích hoạt. Sử dụng ALTER TRIGGER để thay đổi định nghĩa của một cò ...

+0

Hoạt động! ;) Heh, cảm ơn! Tôi sẽ đánh dấu là câu trả lời chính xác trong 11 phút, StackOverflow ngăn tôi chấp nhận nó ngay lập tức. – Teekin

+3

Fyi. Trong sql, xóa là một hoạt động hàng, thả là một đối tượng db (ví dụ, một hoạt động kích hoạt). – DwB

+0

Vâng, nó thực sự rõ ràng trong nhìn lại. – Teekin

0

tôi có thể thả một trigger với Sau Query

DROP TRIGGER [Trigger_Name] 

      (OR)    

DROP TRIGGER Trigger_Update 

Hy vọng điều này Phải hữu ích ...

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