SQL触发器,如果​​存在条目匹配,则从其他表添加数据

时间:2017-06-29 17:13:55

标签: sql sql-server triggers

我有两张桌子一张:

ID | TimeStamp | Data
---|-----------|------ 
1  | 10/10/2015| 54
2  | 11/10/2015| 493
3  | 12/10/2015| 293

和另一个:

ID | Interval | Location
---|----------|------ 
1  | 23       | New York
2  | 22       | London
3  | 21       | Paris

我希望在第一个表中添加新条目时执行SQL trigger。然后trigger会将两个表中的数据合并到另一个表中......如下所示:

ID | TimeStamp | Data | Interval | Location
---|-----------|------|----------|------ 
1  | 10/10/2015|    54| 23       | New York
2  | 11/10/2015|   493| 22       | London
3  | 12/10/2015|   293| 21       | Paris

我是SQL的新手,并且已查看了两个触发器和加入请求。如果有人能指出我正确的方向来编写查询,那将是惊人的。

1 个答案:

答案 0 :(得分:1)

我认为在这种情况下正确的方法是使用join(作为查询或创建视图),听起来像使用触发器并保持数据两次是多余的。

此处的连接非常简单,只需在ID字段上进行内连接:

SELECT f.ID, f.timestamp, f.data, second.location, second.interval from
  firstTable as f inner join secondTable as s on f.ID = s.ID;

如果您想将其作为视图,只需执行以下操作:

CREATE VIEW joinView AS
SELECT f.ID, f.timestamp, f.data, second.location, second.interval from
  firstTable as f inner join secondTable as s on f.ID = s.ID;