我是 SQL 的新手,请原谅我的无能。
我正在尝试编写一个触发器,在插入表 1 时将该记录插入表 2。
表 1 是[rps_lab_dev].[dbo].[Lab_Employee_Time_Off]
表 2 是 [dbo].[Lab_Employee_Time_Off_Detail]
CREATE TRIGGER updatetrig
ON [rps_lab_dev].[dbo].[Lab_Employee_Time_Off]
FOR INSERT
AS
...
我不确定从这里去哪里(如果这是正确的,我现在没有 sql 可以检查)。任何方向将不胜感激。
最佳答案
当您处于 INSERT 的触发器中时,您将获得一组名为 INSERTED 的记录。您可以使用它来执行您想要的任何操作。
如果您处于 UPDATE 的触发器中,那么您将获得两组数据 DELETED 和 INSERTED - 逻辑上,DELETED 是将被新的 INSERTED 数据覆盖的旧数据。
对于您的情况,让我们在这里做几件事。首先,它是一个 INSERT 触发器,所以我们就这样调用它。然后让我们从 INSERTED 中获取数据(它将与您的传入数据具有相同的列名)并使用它插入到您的详细信息表中
CREATE TRIGGER Lab_Employee_Time_Off_InsertAction
ON [rps_lab_dev].[dbo].[Lab_Employee_Time_Off]
FOR INSERT
AS
INSERT INTO [dbo].[Lab_Employee_Time_Off_Detail] (Col01, Col02, Col03)
SELECT Col1, Col2, Col3
FROM Inserted
GO
关于sql - 在插入触发器上从表 1 插入到表 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373404/