当表1中出现新值时,如何自动更新表2中的值

时间:2019-05-27 06:42:52

标签: sql-server-2008

我正在创建一个查询,其中我已经从表1中创建了选择查询,然后将值插入到表2中,但是如何创建一个命令,当新数据进入表1时,便要更新表2的值 并且这种插入每天都在工作中发生。

我尝试创建触发器,但是我不知道如何将其与我的场景相关联

IF OBJECT_ID('TEMPDB..#temp')IS NOT NULL 
DROP TABLE #temp

Select Getdate()[Data Till],Sum[Quantity] Qty 
into #temp from  XYZ w
here w.Date <=Getdate()

Insert into dbo.table1
Select [Data Till],Qty  from #temp >

截至目前,数据如表2所示

1)[Data Till]-2019/05/22  Qty-100 
2)[Data Till]-2019/05/23  Qty-150
3)[Data Till]-2019/05/24  Qty-120

现在如果表1中出现了2019年5月22日的日期为-20的回溯条目,表2将如何更新表2中的值怎么办

1)[Data Till]-2019/05/22  Qty-80
2)[Data Till]-2019/05/23  Qty-150
3)[Data Till]-2019/05/24  Qty-120

2 个答案:

答案 0 :(得分:0)

按我的假设

  

更新意味着您已经具有表2中的数据。如果表1中有新数据,您要进行哪种更新?   是现有数据更新还是新记录插入然后更新。   从您的问题是否可以更新以上两种情况   为此,为什么要有两个写入插入触发器

创建触发器abc
在桌子1上 用于插入 如 开始

-更新table2

结束

答案 1 :(得分:0)

CREATE TRIGGER [schema_name.]trigger_name
ON Table_name
AFTER  INSERT
AS
BEGIN
-- write your update statement here
END
  

这是当您在“ Table_name”中插入新行时,在执行“ BEGIN”和“ END”之间的语句的更新触发器之后编写的方法。