sql - 如果数据不存在 Wait Else RUN SQL
问题描述
是否可以在 SQL 语句的开头添加等待脚本?
IF EXISTS(
select * from myTable
where id=7)
)
SELECT * From myTable
ELSE --(Wait 1 minute, then Run Again)
SELECT * From myTable
解决方案
您可以使用 WAITFOR 暂停,并使用 @@ROWCOUNT 确定查询是否返回结果。所以像:
set nocount on
drop table if exists #t;
--create an empty temp table
select *
into #t
from tt
where 1=0
while (1=1)
begin
insert into #t
select * from tt
if (@@ROWCOUNT > 0)
begin
break;
end
waitfor delay '00:00:05'
end
set nocount off;
select * from #t;
推荐阅读
- vue.js - 根据路由更改 Vue 组件中的数据
- vb.net - 如何从另一个组合框的选择中填充组合框列表?
- javascript - appscript的正则表达式,不区分大小写不起作用
- r - 按每个元素数进行积分会返回不相等的向量长度
- javascript - 在 Promise 中设置异步变量
- puppet - 查找功能在 Puppet 的配置文件中不起作用
- kendo-ui - 欧洲格式的 KendoGrid 动态日期过滤器正在从 dd/mm/yyyy 反转为 mm/dd/yyyy
- kubernetes - 如何跟踪到 GCP Kubernetes 服务的流量
- reactjs - 在 React 中使用上下文在兄弟姐妹之间传递上下文
- amazon-web-services - 当我收到“服务已达到稳定状态”时,在 Amazon ECS 中是否意味着某些任务已停止?