SQL 嵌套 BEGIN END 块给出 SQL 错误 (102)
SQL nesting BEGIN END Blocks gives SQL Error (102)
这段简单的 SQL 代码出现以下错误。任何想法为什么?任何 BEGIN ... END 块都会导致发生此错误
/* SQL 错误 (156):关键字 'END' 附近的语法不正确。 */
DECLARE @PROCESSEDCOUNT INT = 0
WHILE (@PROCESSEDCOUNT < 10)
BEGIN
SET @PROCESSEDCOUNT +=1
IF 1=1
BEGIN
-- Stuff happens here
END
END
这是 SQL 服务器上的 运行 - MSSQL15
您需要的不仅仅是 begin/end 块中的评论。
尝试以下方法
IF 1=1
BEGIN
SELECT @PROCESSEDCOUNT
END
您必须在 BEGIN 和 END 块之间放置一些内容
例如:
DECLARE @PROCESSEDCOUNT INT= 1
WHILE (@PROCESSEDCOUNT < 10)
BEGIN
SET @PROCESSEDCOUNT +=1
IF 1=1
BEGIN
PRINT '1'
END
END
您没有任何内部 BEGIN...END 条件。你可以删除它。
DECLARE @PROCESSEDCOUNT INT = 0
WHILE (@PROCESSEDCOUNT < 10)
BEGIN
SET @PROCESSEDCOUNT +=1
-- Stuff happens here
END
这段简单的 SQL 代码出现以下错误。任何想法为什么?任何 BEGIN ... END 块都会导致发生此错误
/* SQL 错误 (156):关键字 'END' 附近的语法不正确。 */
DECLARE @PROCESSEDCOUNT INT = 0
WHILE (@PROCESSEDCOUNT < 10)
BEGIN
SET @PROCESSEDCOUNT +=1
IF 1=1
BEGIN
-- Stuff happens here
END
END
这是 SQL 服务器上的 运行 - MSSQL15
您需要的不仅仅是 begin/end 块中的评论。
尝试以下方法
IF 1=1
BEGIN
SELECT @PROCESSEDCOUNT
END
您必须在 BEGIN 和 END 块之间放置一些内容 例如:
DECLARE @PROCESSEDCOUNT INT= 1
WHILE (@PROCESSEDCOUNT < 10)
BEGIN
SET @PROCESSEDCOUNT +=1
IF 1=1
BEGIN
PRINT '1'
END
END
您没有任何内部 BEGIN...END 条件。你可以删除它。
DECLARE @PROCESSEDCOUNT INT = 0
WHILE (@PROCESSEDCOUNT < 10)
BEGIN
SET @PROCESSEDCOUNT +=1
-- Stuff happens here
END