我正在使用下面的查询将记录插入表中。
DELETE FROM Table1;
INSERT into Table1 (F1,f2,f3...) SELECT * FROM TABLE2 WHERE......
问题是,由于许多条件,SELECT查询花费了一些时间,而记录已从Table1中删除,但在等待SELECT查询结果并插入到table1中时,实时记录可能无法在客户端显示。
我需要先SELECT记录,然后从table1中删除记录,然后将所选记录插入到table1中。谁能帮我吗?
答案 0 :(得分:1)
您可以使用类似的交易记录,也可以在插入后删除交易,但可以在某处添加条件。
Airflow version: 1.10.2
Ubuntu: 18.04 (bionic)
Python: 3.6.5
答案 1 :(得分:-1)
您可以使用@@ rowcount
Declare @row_count int
SELECT @row_count=count(*) FROM TABLE2 WHERE......
INSERT into Table1 (F1,f2,f3...) SELECT * FROM TABLE2 WHERE......
DELETE TOP(@row_count) FROM Table1 ;
首先计算要插入多少条记录, 插入第一个数据, 如果数据插入成功,则删除数据 其他明智的数据将不会被删除
因此,表中每次有数据可显示给客户