Dường như chúng được cho phép vì tôi có thể thấy cả trình kích hoạt chèn của tôi được liệt kê bên dưới bảng có các tên khác nhau. Nó có phổ biến hay là một thực hành không tốt? Tôi đang sử dụng SQL Server 2005Tôi có thể có hai trình kích hoạt chèn khác nhau trên cùng một bảng không?
Trả lời
Có, bạn chắc chắn có thể có nhiều trình kích hoạt cho mỗi thao tác, ví dụ: AFTER INSERT
hoặc AFTER UPDATE
v.v. Nó có ý nghĩa để chia các mối quan tâm riêng biệt thành các đoạn mã riêng biệt, nhỏ, có thể quản lý được.
Điều bạn không thể dựa vào là chúng sẽ được thực thi theo thứ tự nhất định - thứ tự mà các trình kích hoạt thực sự được thực hiện cũng không phải ổn định, tức là mọi lúc.
Phụ thuộc vào RDBMS. Postgres đảm bảo nhiều trình kích hoạt được gọi theo thứ tự tên alpha. Họ nhà nước tiêu chuẩn SQL (hiếm khi theo sau) là theo thứ tự sáng tạo. –
@AndrewLazarus: Tôi đã đề cập đến SQL Server (kể từ khi OP hỏi về điều đó), và SQL Server không có bất kỳ khả năng như vậy. Cảm ơn bạn đã chỉ ra điều đó! –
Tuyệt đối. Tôi thường thêm các ghi chú giống như việc tìm người đến đây từ Google rất nhiều. –
đó là phương pháp hay vì bạn có thể chia nhỏ các thay đổi của mình theo thời gian thành các đoạn nhỏ (nhanh nhẹn) và thêm hoặc xóa chúng độc lập với nhau.
BTW nếu tôi chèn 2 hoặc nhiều hàng cùng một lúc (về cơ bản tôi đang nhập một loạt các bản ghi), có cách nào tôi có thể tham chiếu M EI chèn, hoặc kích hoạt được tự động thực thi cho mỗi lần chèn không? –
@hmd trigger sẽ được tự động thực hiện cho mỗi lần chèn đơn lẻ cho đến khi trừ khi bạn đang sử dụng chèn hàng loạt trong đó trình kích hoạt sẽ được thực hiện một lần cho mỗi lệnh chèn số lượng lớn. – Niraj
Biết đó là một câu hỏi cũ! Trong trình kích hoạt của bạn, bạn luôn có thể tham chiếu đến bảng được gọi là "được chèn" chứa tất cả các hàng bạn vừa chèn (là một hoặc nhiều hàng trên trình kích hoạt chèn). Và bằng cách tạo con trỏ, bạn có thể lặp qua từng hàng của bạn và thực hiện các công cụ cho chúng nếu bạn muốn. – olf
- 1. Tôi có thể sử dụng hai lisp + slime/swanks khác nhau từ cùng một emacs không?
- 2. Tham gia bảng hai lần - trên hai cột khác nhau của cùng một bảng
- 3. Kích hoạt MySql, cập nhật bảng khác trên chèn
- 4. Máy chủ SQL: Có thể chèn vào hai bảng cùng một lúc không?
- 5. Tôi có thể cài đặt hai phiên bản Visual Studio khác nhau trên cùng một máy tính không?
- 6. Tôi có thể cập nhật Mới vào trước khi chèn trình kích hoạt trong sqlite không?
- 7. Có hai phiên khác nhau trong cùng một tên miền
- 8. Con trỏ có thể có kích thước khác nhau không?
- 9. tôi không thể có cả hai từ khóa trên cùng một dòng: riêng tư cuối cùng ...()?
- 10. Tôi có thể có nhiều CommandBindings cho cùng một Lệnh trên cùng một điều khiển không?
- 11. Có đúng là tôi không thể chỉnh sửa trình kích hoạt MySQL, tôi phải thả nó và tạo một trình kích hoạt mới?
- 12. Hai trình duyệt khác nhau có thể chia sẻ một cookie không?
- 13. Trong Scala, có thể nén hai danh sách có kích thước khác nhau không?
- 14. T-SQL Chèn Trình kích hoạt để chèn, cập nhật nếu điều kiện trên nhiều bảng
- 15. Làm thế nào để lập trình một trình kích hoạt MySQL để chèn hàng vào một bảng khác?
- 16. Làm thế nào tôi có thể lấy tên bảng trong một hàm kích hoạt PostgreSQL?
- 17. Có thể 2 luồng Java xác thực là hai người dùng Kerberos khác nhau (trong cùng một quy trình) không?
- 18. Trình kích hoạt PostgreSQL trên Chèn hoặc Cập nhật
- 19. Tôi có thể sử dụng hai giao diện khác nhau và cảm nhận trong cùng một ứng dụng Swing không?
- 20. Có cách nào để chèn hàng loạt vào hai bảng với FK từ một đến khác?
- 21. Tôi có thể sử dụng MySql Create Select trên hai máy chủ khác nhau với PHP không?
- 22. Tôi có thể khai báo cùng một biến hai lần khác nhau cho các vòng trong JavaScript không?
- 23. Có thể tạo một tệp giả mạo có cùng tổng kiểm tra bằng hai thuật toán khác nhau không?
- 24. Trình kích hoạt của MySQL không thể cập nhật các hàng trong cùng một bảng mà trình kích hoạt được gán cho. Giải pháp được đề xuất?
- 25. trừ đi hai cột khác nhau từ 2 lựa chọn trên cùng một bảng
- 26. Tôi có thể đặt hai hình nền trên cùng một phần tử với CSS không?
- 27. Có thể hai phiên bản Windows SDK khác nhau cùng tồn tại trên cùng một máy không có xung đột không?
- 28. Tôi có thể tạo một tiểu sử maven kích hoạt một cấu hình khác không?
- 29. Trình kích hoạt cho INSERT và UPDATE trên cùng một bảng
- 30. Tôi có thể đặt các loại đối tượng khác nhau trong cùng một NSMutableArray không?
Trình kích hoạt sẽ làm gì? Bảng 'INSERTED' không được lập chỉ mục để các lý do hiệu suất có thể tốt hơn để hợp nhất chúng. –