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