我有2个表,第一个是原始表,第二个是第一个表的更新日志。
我在c#中执行一个代码,该代码在原始表中执行一个DataTable的大容量插入:
using (var bulkCopy = new System.Data.SqlClient.SqlBulkCopy(conexion))
{
bulkCopy.DestinationTableName = "Original";
bulkCopy.WriteToServer(tab);
}
在原始表中,我有一个AFTER UPDATE触发器,用于将修改后的数据从原始表复制到日志表:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[CreateVersionArchiveRow]
ON [dbo].[Original]
AFTER Update
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.Original_LOG
SELECT *, getdate()
FROM deleted;
END
问题是,当我执行批量COPY(仅从C#执行,如果从SQL Server MANAGEMENT Studio的TRERE执行没有问题),将触发触发器并将所有数据从原始表复制到日志表。我想要的是在执行UPDATE时将原始数据从Oginal表复制到日志,而不是在执行BULK INSERT
时复制我不知道我在做什么错