我的问题很简单,但我找不到删除表的旧值并使用相同查询的结果更新同一个表的方法。
更新
该查询是对表 A 的 SELECT,结果是表 B。表 B 上的结果与表 A 上的最后一个查询的结果没有什么不同。
我有一个很大的表,我需要定期处理记录并创建一个新表。该表的旧值不重要,只有新值。
我将不胜感激。
我的问题很简单,但我找不到删除表的旧值并使用相同查询的结果更新同一个表的方法。
更新
该查询是对表 A 的 SELECT,结果是表 B。表 B 上的结果与表 A 上的最后一个查询的结果没有什么不同。
我有一个很大的表,我需要定期处理记录并创建一个新表。该表的旧值不重要,只有新值。
我将不胜感激。
如果您只需要一个会话,您可以使用一个临时表来存储您正在使用的结果。当您退出时,它会自动被删除。
你没有说你正在使用什么数据库,但试试这个
create temp tableB AS select * from tableA
观点呢?如果您只需要表 B 来查询。您说您在表 A 上有一个选择。假设您的选择是SELECT * FROM TableA WHERE X = Y
。那么你的陈述将是
CREATE VIEW vwTableB AS
SELECT * FROM TableA WHERE X = Y
然后,您将查询 vwTableB,而不是查询 tableB。对表 A 中数据的任何更改都会反映在视图中,因此您不必自己继续运行脚本。
这是 vwTableB 中的数据将保持更新,您不必继续删除并插入到第二个表中。