我有2张桌子
A)
Table A
ID | val |
1. 1 m
2. 2 n
3. 1 o
4 1 p
5. 2 q
Table B
ID | val
所以我有一个要求,当任何行被插入到表A中时,相同的数据在表B中更新。我试图使用trigger.My触发器看起来像
CREATE Trigger tr_ForInserts
ON A
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
insert into B values(NEW.ID,NEW.Val);
END
我面临的问题是如何识别表A中的哪一行被插入,因为我有单个ID的重复条目。如何在检测到触发器后检测到插入的确切行。什么应该是查询中的参数“插入B值(NEW.ID,New.Val)”.....这些新值应该是什么?
答案 0 :(得分:1)
CREATE TRIGGER tg_insert ON A
FOR INSERT
AS
BEGIN
INSERT B
SELECT id, val
FROM inserted
END
答案 1 :(得分:-1)
CREATE Trigger tr_ForInserts
ON A
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
declare @id int;
declare @val int;
select @id=i.ID from inserted i;
select @val =i.Val from inserted i;
insert into B values(@id, @val);
END