SQL Server Express存储过程:选择,删除,插入

时间:2019-03-20 06:19:54

标签: sql sql-server tsql transactions

我正在使用下面的查询将记录插入表中。

DELETE FROM Table1;

INSERT into Table1 (F1,f2,f3...) SELECT * FROM TABLE2 WHERE......

问题是,由于许多条件,SELECT查询花费了一些时间,而记录已从Table1中删除,但在等待SELECT查询结果并插入到table1中时,实时记录可能无法在客户端显示。

我需要先SELECT记录,然后从table1中删除记录,然后将所选记录插入到table1中。谁能帮我吗?

2 个答案:

答案 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 ;

首先计算要插入多少条记录, 插入第一个数据, 如果数据插入成功,则删除数据 其他明智的数据将不会被删除

因此,表中每次有数据可显示给客户

相关问题