0
我在SQL Server 2008上的同一个数据库中有两个表。当我向第一个插入一行时,我想将一些字段复制到第二个表中。我做了一个触发器这样做,但问题是,有时当我非常快速地添加2行时,它只复制其中的一行。SQL Server插入后触发器不复制所有行
我的代码有什么问题?
USE [DB_NAME]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[triggerName]
ON [dbo].[table1]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.table2(L_UID, L_Mode, C_Name, C_Logon)
SELECT ins.L_UID, ins.L_Mode, ins.C_Name, temp.C_Remark AS Logon FROM INSERTED AS ins
INNER JOIN dbo.tEmploye AS temp
ON (temp.L_UID = ins.L_UID)
WHERE temp.C_Remark IS NOT NULL
END
我总是测试相同的两行数据。当我慢慢做时,它可以正常工作,当我快速完成时,我在第一个表中获得了两个条目,而在第二个表中获得了两个条目。正因为如此,我知道INNER JOIN匹配并且C_Logon不为空。我正在用读卡器测试,我只有两个用户。 – Michal