Bry*_*n V 2 sql t-sql sql-server triggers
我对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
...
Run Code Online (Sandbox Code Playgroud)
我不确定从哪里开始(如果这是正确的,我现在没有sql检查).任何方向将不胜感激.
对于SQL Server ...
CREATE TRIGGER updatetrig
ON [rps_lab_dev].[dbo].[Lab_Employee_Time_Off]
FOR INSERT
AS
INSERT INTO [dbo].[Lab_Employee_Time_Off_Detail] (Column1, Column2, Column3)
SELECT Column1, Column2, Column3 FROM inserted
Run Code Online (Sandbox Code Playgroud)
只需用列名替换Column1,Column2和Column3即可.
当您处于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
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/ms189799.aspx
| 归档时间: |
|
| 查看次数: |
496 次 |
| 最近记录: |