删除表的旧值并使用相同查询的结果更新表

时间:2013-02-26 16:59:29

标签: sql

我的问题很简单,但我找不到删除表的旧值并使用相同查询的结果更新同一个表的方法。

更新

查询是表A上的SELECT,结果是表B.表B中没有任何内容与表A上的最后查询结果不同。

我有一个非常大的表,我需要处理记录并定期创建一个新表。这个表的旧值并不重要,只有新表。

我将不胜感激。

2 个答案:

答案 0 :(得分:1)

如果您只需要一个会话,则可以使用临时表来存储您正在使用的结果。退出时会自动删除。

你没有说你正在使用什么数据库,但试试这个

create temp tableB AS select * from tableA

答案 1 :(得分:1)

视图怎么样?如果您只需要表B来查询。你说你在表A上有一个选择。让我们说你的选择是SELECT * FROM TableA WHERE X = Y。然后你的陈述将是

CREATE VIEW vwTableB AS 
   SELECT * FROM TableA WHERE X = Y

然后查询vwTableB而不是查询tableB。对表A中数据的任何更改都将反映在视图中,因此您不必自己继续运行脚本。

这是vwTableB中的数据将保持更新,您不必继续删除并插入第二个表。