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

Kích hoạt lịch sử bảng trong SQL Server?

Nếu mỗi người dùng có một tài khoản, bạn có thể sử dụng SYSTEM_USER chức năng xác định người dùng hiện tại. Tuy nhiên, nếu tất cả các kết nối của bạn đi qua tài khoản proxy, như thường thấy trong hầu hết các thiết lập trang web, thì bạn phải dựa vào userId thích hợp được chuyển đến câu lệnh Cập nhật:

CREATE TRIGGER [update_history] ON MyTable
FOR UPDATE
AS
INSERT MyTable_History (id, BudgetNumber, PositionNumber, ModifiedDate, action, userId)
SELECT id, BudgetNumber, PositionNumber, GETDATE(), 'BEFORE UPDATE', inserted.userId
FROM MyTable
    Join inserted
        On inserted.id = MyTable.id

INSERT MyTable_History (id, BudgetNumber, PositionNumber, ModifiedDate, action, userId)
SELECT id, BudgetNumber, PositionNumber, GETDATE(), 'AFTER UPDATE', userId
FROM inserted


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu tầm quan trọng của cài đặt bộ nhớ trong SQL Server

  2. Khi nào tôi cần sử dụng Khối bắt đầu / Kết thúc và từ khóa Go trong SQL Server?

  3. Tính chênh lệch thời gian theo phút trong SQL Server

  4. Nhận các tham số thủ tục được lưu trữ bằng C # hoặc SQL?

  5. Làm thế nào để so sánh nếu hai chuỗi chứa các từ giống nhau trong T-SQL cho SQL Server 2008?