【发布时间】:2013-12-26 22:49:27
【问题描述】:
我的问题有点概念性。
我有一个关于 SQL 的过程,我将几个表连接在一起。例如:“mkt_Original”包含代码(A1、A3 等),而“mkt_Desc”包含描述符(Aruba、Argentina 等)。它们通过内部连接连接并添加到临时表中:
SELECT CountryDesc, ColumnX into mkt_Temp
FROM mkt_Original
INNER JOIN mkt_Desc ON Mkt_Original.CountryCode = mkt_Desc.CountryCode
生成临时表后,我根据其他列 (ColumnX) 的值对国家代码进行了一些更改。例如:
UPDATE mkt_Temp
SET mkt_Temp.CountryCode = A3
WHERE mkt_Temp.ColumnX = 3
但是,一旦我完成了所有更新,我很好奇国家“描述”将如何更新(因为现在有另一个国家代码)。例如,如果最初存储 A4 的值,它将带回日本,当我更新到 A3 时,它应该说是中国。
我必须在临时表和所有其他表之间运行另一个 INNER JOIN 查询还是有更有效的方法?我正在阅读有关触发器的信息,但我不确定这种情况下的触发器会是什么样子。触发器的任何帮助或代码都会非常有用!
提前感谢您的宝贵时间。
【问题讨论】:
-
您真的想使用
inner join进行另一个查询以获取最新数据——除非您正在处理一些非常大的数据量。其他任何事情听起来都是不必要的复杂化。
标签: sql sql-server triggers sql-update inner-join