Khi sử dụng Oracle, bạn có thể tạo trình kích hoạt bị vô hiệu hóa chỉ định từ DISABLE trước phần thân kích hoạt. Làm thế nào tôi có thể đạt được hiệu quả tương tự trong Sql Server?Làm cách nào để tạo trình kích hoạt bị tắt trong SQL Server 2005?
Trả lời
Nếu bạn thực sự phải tạo cò bị vô hiệu hóa sau đó tạo ra và vô hiệu hóa nó trong một giao dịch:
begin tran
go
create trigger t_i on t after insert as begin /* trigger body */ end
go
disable trigger t_i on t
commit
go
Các GO đang có vì CREATE TRIGGER phải là tuyên bố đầu tiên trong một hàng loạt, nhưng tùy thuộc vào cách bạn triển khai mã của bạn, bạn có thể làm cho nó trông hơi hơn một chút.
Trong studio quản lý Mở rộng thư mục Kích hoạt trong bảng và Nhấp chuột phải vào Kích hoạt và Tắt.
DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
MSDN:DISABLE TRIGGER (Transact-SQL)
ENABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
MSDN:ENABLE TRIGGER (Transact-SQL)
sql-server-disable-all-triggers-on-a-database-disable-all-triggers-on-all-servers
Không, tôi muốn kích hoạt bị vô hiệu hóa ở giai đoạn sáng tạo. – regisbsb
T-SQL cung cấp một tuyên bố TRIGGER DISABLE mà hoàn thành được điều tương tự. Bạn có thể tìm thấy những thông tin chi tiết ở đây: DISABLE TRIGGER SYNTAX
Không, tôi muốn có một kích hoạt bị vô hiệu hóa ở giai đoạn sáng tạo. – regisbsb
Con đường tôi đã làm điều đó là để Exec cả tạo và vô hiệu hóa như:
EXEC('CREATE TRIGGER trigger_on_myTable ON myTable <Trigger body> ');
EXEC('DISABLE TRIGGER trigger_on_myTable ON myTable');
Điều này cho phép tôi để tạo ra và vô hiệu hóa trong cùng một kịch bản mà không có bất kỳ của GO.
- 1. SQL Server 2005 - xoá trình kích hoạt bảng?
- 2. Làm thế nào để xóa kích hoạt trong SQL Server?
- 3. SQL Server 2005: T-SQL tạm thời vô hiệu hóa trình kích hoạt
- 4. Trình kích hoạt không đồng bộ trong SQL Server 2005/2008
- 5. Làm cách nào để thay đổi kích thước Tăng trưởng tự động? MS SQL Server 2005
- 6. Tắt lời nhắc "lưu" trong SQL Server Management Studio 2005
- 7. Kích thước của trường VARBINARY trong SQL Server 2005
- 8. Isoweek trong SQL Server 2005
- 9. Cách tạo trình kích hoạt trước khi xóa trong SQL Server?
- 10. SQL Server 2005 Replication
- 11. Làm thế nào để tách logic lập trình và dữ liệu trong MS SQL Server 2005?
- 12. Làm thế nào để tạo ra một loại bảng trong SQL Server 2005
- 13. Làm thế nào để bạn tạo các mẫu thủ tục được lưu trữ SQL Server 2005 trong SQL Server 2005 Management Studio?
- 14. Cách di động nào nhất để kiểm tra xem trình kích hoạt có tồn tại trong SQL Server không?
- 15. Làm cách nào để chỉnh sửa giá trị của INSERT trong trình kích hoạt trên SQL Server?
- 16. Trình kích hoạt SQL Server - thứ tự thực hiện
- 17. SQL Server 2005 Làm thế nào để tạo một ràng buộc duy nhất?
- 18. CHECKSUM() va chạm trong SQL Server 2005
- 19. Làm cách nào để tắt trình kích hoạt trong PostgreSQL 9?
- 20. Làm cách nào để bật Lập chỉ mục toàn văn trong SQL Server 2005 Express?
- 21. Số Ba Tư trong SQL Server 2005
- 22. Làm cách nào để khôi phục truy vấn UPDATE trong SQL Server 2005?
- 23. Vấn đề chặn SQL Server 2005 (ASYNC_NETWORK_IO)
- 24. Làm cách nào để tìm tất cả trình kích hoạt được liên kết với một bảng với SQL Server?
- 25. Tôi làm cách nào để tắt tạm thời các trình kích hoạt trong PostgreSQL?
- 26. Làm thế nào để: Quản lý nhiều chỉ số chồng chéo trong SQL Server 2005
- 27. Cách ánh xạ uint trong NHibernate với SQL Server 2005
- 28. Làm thế nào để có được Tên Index từ IndexId trong SQL Server 2005
- 29. Cách tạo kích hoạt MySQL trong phpmyadmin
- 30. Làm thế nào để chèn dữ liệu xml vào bảng trong sql server 2005
+1 để thực sự trả lời câu hỏi ... – gbn