1

我试图在连接到 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 ';'.
4

2 回答 2

1

正确的。目前WAITFORAzure SQL DW 不支持该语句。请注意顶部附近此语句的文档,它说明此语句是否“适用于”Azure SQL DW。

请投票支持此功能建议,以帮助 Microsoft 优先考虑此增强功能。

它可能对您没有多大帮助,但是您可以在单独的连接下连接到主数据库并运行该WAITFOR语句。

于 2018-01-25T12:58:32.217 回答
0

一个血腥的解决方法,直到我们拥有那个简单的内置函数:

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

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
于 2022-02-21T21:19:59.110 回答