代码之家  ›  专栏  ›  技术社区  ›  NSS

等待延迟在Azure SQL DW中不工作

  •  1
  • NSS  · 技术社区  · 6 年前

    我正在尝试在连接到Azure SQL DW的SSMS中运行此简单代码 但它失败了。我尝试了一些不同的变化,但似乎没有一个奏效。

    BEGIN
    PRINT 'Hello ';
    WAITFOR DELAY '00:00:02'
    PRINT 'Another';
    END
    
    Msg 103010, Level 16, State 1, Line 47
    Parse error at line: 2, column: 16: Incorrect syntax near ';'.
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Community Egal    2 年前

    对的目前 WAITFOR Azure SQL DW中不支持语句。上的注释 documentation 对于靠近顶部的这条语句,它表示这条语句是否“适用于”Azure SQL DW。

    请投这个票 feature suggestion 帮助Microsoft确定此增强的优先级。

    它可能对您帮助不大,但您可以在单独的连接下连接到主数据库并运行 等待 陈述

        2
  •  1
  •   Onur Omer    2 年前

    一个血腥的解决方案,直到我们有了简单的内置功能:

    1-创建一个名为“spWait”的过程,如下所示:

    CREATE PROC spWait @Seconds INT
    AS
    BEGIN
    
        DECLARE @BEGIN DATETIME
        DECLARE @END DATETIME 
    
        SET @BEGIN = GETDATE()
        SET @END = DATEADD("SECOND",@Seconds,@BEGIN)
    
        WHILE (@BEGIN<@END)
        BEGIN   
            SET @BEGIN=GETDATE()
        END
    
    END
    

    2-在命令之间调用此命令

    --Do this
    
    EXEC spWait 3
    
    --Do that