我的任务是在SQL Server上创建一个触发器,该触发器将对表上的每个INSERT事件作出反应。
将新行添加到插入的表中时,将触发一个触发器,该触发器将在第1行的ID中获取值并将其插入第2行的ValStr中
到目前为止,我所做的是创建一个触发器,该触发器在另一张表上执行此过程,而不是在触发器触发后插入的那个表上。
TRIGGER [dbo].[tr_tblLLAttrData]
ON [dbo].[LLAttrData]
AFTER INSERT
AS
BEGIN
DECLARE @DataId int = (SELECT ID FROM INSERTED where AttrID = 2)
DECLARE @Department nvarchar(255) = (SELECT ValStr FROM INSERTED where AttrID = 2)
DECLARE @DepCode nvarchar(255) = ( SELECT distinct Department.dep_code
FROM ayalon_department AS Department, dbo.LLAttrData AS Attr
WHERE Attr.ValStr = Department.dep_name and Attr.AttrID = 2 and Attr.ValStr = @Department)
INSERT INTO dbo.ExternalTable
values (@DataId + '_' @DepCode '_' + 'NTA')
END
我声明了@DataId,以便保留插入表中的值,然后将其传递给外部表。我希望将其传递到相同的插入表中。