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

Cách tạo trình kích hoạt để theo dõi dữ liệu được thay đổi lần cuối

CREATE TRIGGER TRG_Member_U ON Member FOR UPDATE
AS
SET NOCOUNT ON

INSERT MemberLastChanged (memberID, memberName)
SELECT
   D.memberID, D.memberName
FROM
   DELETED D JOIN INSERTED I ON D.memberID = I.memberID
WHERE
   D.memberName <> I.memberName
GO

Ngoài ra, hãy thêm mặc định của GETDATE vào dateRegistered để nó được ghi lại tự động.

Điều này cũng lọc ra các bản cập nhật giả bằng cách so sánh các giá trị mới và cũ (ĐÃ CHÈN so với ĐÃ XÓA).

INSERTED và DELETED là các bảng đặc biệt chỉ có trong trình kích hoạt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình tự so với danh tính

  2. Thay đổi tên cột động trong sql

  3. SQL Total Sum với phép trừ nếu mục nhập mới được tạo trong bảng

  4. Thủ tục được lưu trữ và điền bảng tạm thời từ Thủ tục được lưu trữ được liên kết với các tham số

  5. Một khóa ngoại linh hoạt