Nó rất đơn giản để làm điều đó, Đầu tiên tạo ra một bản sao của bảng của bạn mà muốn bạn giữ các bản ghi cho Ví dụ, bạn có Bảng dbo .SalesOrder với các cột SalesOrderID, FirstName, LastName, LastModified
bảng Version Archieve của bạn nên được dbo.SalesOrderVersionArchieve với các cột SalesOrderVersionArhieveId, SalesOrderID, FirstName, LastName, LastModified
Dưới đây là làm thế nào bạn sẽ thiết lập kích hoạt trên bàn SalesOrder
USE [YOURDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Karan Dhanu
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE TRIGGER dbo.[CreateVersionArchiveRow]
ON dbo.[SalesOrder]
AFTER Update
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.SalesOrderVersionArchive
SELECT *
FROM deleted;
END
Bây giờ nếu bạn thực hiện bất kỳ thay đổi trong bảng saleOrder nó sẽ cho bạn thấy sự thay đổi trong VersionArchieve bảng
Chỉ cần thêm một tham gia vào bảng chèn vào trong báo cáo cập nhật của bạn dựa trên khóa chính. –
đã thêm một kết nối nhưng kích hoạt của tôi cũng kích hoạt. Đây có phải là hành vi bình thường hay không? – user3927897