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

Chèn trình kích hoạt Cập nhật cách xác định xem chèn hoặc cập nhật

Các trình kích hoạt có INSERTED đặc biệt và DELETED bảng để theo dõi dữ liệu "trước" và "sau". Vì vậy, bạn có thể sử dụng một cái gì đó như IF EXISTS (SELECT * FROM DELETED) để phát hiện một bản cập nhật. Bạn chỉ có các hàng trong DELETED khi cập nhật, nhưng luôn có các hàng trong INSERTED .

Tìm kiếm "được chèn" trong CREATE TRIGGER.

Chỉnh sửa, ngày 23 tháng 11 năm 2011

Sau khi nhận xét, câu trả lời này chỉ dành cho INSERTEDUPDATED trình kích hoạt.
Rõ ràng, trình kích hoạt DELETE không thể có "luôn luôn các hàng trong INSERTED "như tôi đã nói ở trê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. Nội bộ của bảy loại máy chủ SQL - Phần 2

  2. Đếm số bản ghi được trả về theo nhóm bởi

  3. Làm thế nào để chuyển đổi DateTime sang VarChar

  4. Nhóm luôn sẵn sàng của SQL Server:Cài đặt và cấu hình, Phần 1

  5. JSON_VALUE () Ví dụ trong SQL Server (T-SQL)