【问题标题】:SQL Query return a value if running more than x seconds?如果运行超过 x 秒,SQL 查询返回一个值?
【发布时间】:2017-02-01 10:18:05
【问题描述】:

如果 SQL 查询运行时间超过 X 秒,是否可以终止正在执行的查询并返回特定值(例如 return value = 1)?

您能否举一个带有基本查询的具体示例。例如在 SQL 中:

select * from test

如果这个查询的执行时间超过 10 秒,它应该返回:1 作为结果。

我正在使用 SQL 管理工作室。

【问题讨论】:

  • @a_horse_with_no_name :- 你能检查一下我的回答是否有效吗??
  • 你使用什么后端语言?

标签: sql-server


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2013-05-23
      • 1970-01-01
      • 2013-04-05
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多