如果运行超过 x 秒,SQL 查询返回一个值?
Posted
技术标签:
【中文标题】如果运行超过 x 秒,SQL 查询返回一个值?【英文标题】:SQL Query return a value if running more than x seconds? 【发布时间】:2017-02-01 10:18:05 【问题描述】:如果 SQL 查询运行时间超过 X 秒,是否可以终止正在执行的查询并返回特定值(例如 return value = 1
)?
您能否举一个带有基本查询的具体示例。例如在 SQL 中:
select * from test
如果这个查询的执行时间超过 10 秒,它应该返回:1 作为结果。
我正在使用 SQL 管理工作室。
【问题讨论】:
@a_horse_with_no_name :- 你能检查一下我的回答是否有效吗?? 你使用什么后端语言? 【参考方案1】:是的,有可能。您可以使用线程
看看这里的一些例子
Can We use threading in PL/SQL?
【讨论】:
【参考方案2】:您可以使用DBPROP COMMANDTIMEOUT
指定超时并在您的客户端上使用 TRY CATH,因为在 SQL 中,连接超时无法恢复。
【讨论】:
您的答案适用于哪个 DBMS? 申请SQL SERVER【参考方案3】:我希望这对你有用..我已经为此设置了自定义逻辑..
declare @Starttime datetime=getdate()
select * into #tmp from test
if DATEDIFF(SECOND,@Starttime,getdate()) >10
begin
select 1
end
【讨论】:
以上是关于如果运行超过 x 秒,SQL 查询返回一个值?的主要内容,如果未能解决你的问题,请参考以下文章