使用sql触发器插入许多记录

时间:2017-01-09 08:19:36

标签: sql sql-server tsql triggers

我有两张表有1对多的关系。他们是:

enter image description here

当插入ActivityAttribute时,我想使用生成的idAA将许多记录插入PersonActivityAttribute - 一个用于PersonActivityAttribute.idPA的每个现有值。它是这样的:当我使用ActivityAttributeidAA = 5插入新记录时,我想要以下结果

enter image description here

问题是 - 如何使用触发器实现它?有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询

CREATE TRIGGER trgAfterInsert on ActivityAttribute
FOR INSERT
AS DECLARE @idAA INT;
SELECT @idAA=i.idAA FROM inserted i;
INSERT INTO PersonActivityAttribute(idPA,idAA,value)
SELECT DISTINCT idPA, @idAA, NULL value
FROM PersonActivityAttribute;

希望这可以帮助你。