我一直在研究一个数据库,它包含两个模式名称作为前端和备份。在一个表名称中的位置:
front.Details
studID SemID GPA
100 1 4
200 2 3
另一个表名是:
backup.DetailsV
studID DEPT SemID GPA
我需要在Table前面创建一个触发器。详细说明当插入时所有行必须插入表backup.DetailsV两次使用deptC列两次。
表backup.DetailsV中的输出应如下所示:
studID DEPT SemID GPA
100 1 1 4
200 1 2 3
100 2 1 4
200 2 2 3
如何在表A上创建触发器以在dept id 1和2处插入两次?
答案 0 :(得分:0)
这应该这样做:
CREATE TRIGGER MyTrigger
ON Front.Details
AFTER INSERT
AS
BEGIN
INSERT INTO backup.DetailsV (Dept, SemID, GPA)
SELECT 1, SemID, GPA FROM INSERTED
INSERT INTO backup.DetailsV (Dept, SemID, GPA)
SELECT 2, SemID, GPA FROM INSERTED
END
请注意,我们从特殊的INSERTED表中选择两次,然后插入两次,每次使用所需的部门。