sql - SQL Server Express 存储过程:选择、删除、插入
问题描述
我正在使用以下查询将记录插入表中。
DELETE FROM Table1;
INSERT into Table1 (F1,f2,f3...) SELECT * FROM TABLE2 WHERE......
问题是,SELECT 查询由于条件多而需要一些时间来获取,而记录已经从 Table1 中删除,在等待 SELECT 查询结果并插入到 table1 中时,实时记录可能无法在客户端显示。
我需要先选择记录,然后从 table1 中删除记录,然后将所选记录插入 table1。任何人都可以帮助我吗?
解决方案
您可以使用事务,也可以在插入后删除,但在某处添加条件。
BEGIN TRY
BEGIN TRAN
While (i<0)(while loop and so on condition.)
BEGIN
DELETE FROM Table1 ;
INSERT into Table1 (F1,f2,f3...) SELECT * FROM TABLE2 WHERE......
END
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
END CATCH
推荐阅读
- javascript - 带有正文和标头的 Angular http 请求
- c# - 在 Microsoft.Web.Administration.ApplicationPool 上调用 Stop() 会导致“NotImplementedException”
- javascript - 试图遍历对象并找到具有最大值的键 - 得到不准确的答案
- c - 我可以接收我在套接字上发送的内容吗?
- c# - 必应 WPF 将标签添加到图钉
- azure-policy - 是否在创建自定义角色期间评估 Azure 策略?
- php - 将命令 cURL 转换为 PHP cURL
- windows - 如何阻止任何新进程在环 0 中运行
- android - 从 InputMethodService 访问所有视图属性
- angular - 角度错误:'app-header' 不是已知元素: