SQL中的变量,而循环不';t增加,I';我正在使用SAP Business One DECLARE@Counter int 设置@计数器=4 虽然@Counter

SQL中的变量,而循环不';t增加,I';我正在使用SAP Business One DECLARE@Counter int 设置@计数器=4 虽然@Counter,sql,sql-server,while-loop,sap,Sql,Sql Server,While Loop,Sap,我觉得你的代码是对的。。。问题可能在于您编写变量名的方式。当它是单个变量时,尝试使用相同的大小写:@counter和@counter 另外,请尝试使用“选择”而不是“设置”。他们做的几乎一样,但在你的情况下可能会更好 DECLARE @Counter int SET @Counter = 4 WHILE @Counter <= 10 BEGIN select @counter SET @Counter = @counter + 1 END 阅读评论后编辑: 如果在循环外选择显示11,请尝

我觉得你的代码是对的。。。问题可能在于您编写变量名的方式。当它是单个变量时,尝试使用相同的大小写:@counter和@counter

另外,请尝试使用“选择”而不是“设置”。他们做的几乎一样,但在你的情况下可能会更好

DECLARE @Counter int
SET @Counter = 4
WHILE @Counter <= 10
BEGIN
select @counter
SET @Counter = @counter + 1
END
阅读评论后编辑: 如果在循环外选择显示11,请尝试在循环内打印,而不是仅选择检查是否也显示4

SELECT @Counter = @Counter + 1
DECLARE@counter int
设置@计数器=4

虽然@counter我觉得你的代码是对的。。。问题可能在于您编写变量名的方式。当它是单个变量时,尝试使用相同的大小写:@counter和@counter

另外,请尝试使用“选择”而不是“设置”。他们做的几乎一样,但在你的情况下可能会更好

DECLARE @Counter int
SET @Counter = 4
WHILE @Counter <= 10
BEGIN
select @counter
SET @Counter = @counter + 1
END
阅读评论后编辑: 如果在循环外选择显示11,请尝试在循环内打印,而不是仅选择检查是否也显示4

SELECT @Counter = @Counter + 1
DECLARE@counter int
设置@计数器=4

而@counterSAP Business One query manager只显示第一条select语句的结果。在您的情况下,可以将所有数据存储在临时表中,并在退出循环时选择该表

DECLARE @counter int
SET @counter = 4
WHILE @counter<= 10
BEGIN
    PRINT @counter
    SELECT @counter = @counter + 1
END
declare@temp表(mynum int)
声明@Counter int
设置@计数器=4

而@CounterSAP Business One query manager只显示第一条select语句的结果。在您的情况下,可以将所有数据存储在临时表中,并在退出循环时选择该表

DECLARE @counter int
SET @counter = 4
WHILE @counter<= 10
BEGIN
    PRINT @counter
    SELECT @counter = @counter + 1
END
declare@temp表(mynum int)
声明@Counter int
设置@计数器=4

而@Counter为什么需要循环?这一定和这个SAP的东西有关。我注意到你们有柜台和柜台。在我的数据库中,这将失败,因为我们有区分大小写的排序规则。不知道cte与此有什么关系?它在SQL Server 2016 SP1上运行良好。取出
选择@counter
并将其放在
结束后。检查你是否得到11分。这是调试的一部分。这很有趣,因为如果我把select@counter放在最后,我实际上会得到一个11…所以循环实际上会运行,但当它运行select时会中断?为什么需要一个循环?这一定和这个SAP的东西有关。我注意到你们有柜台和柜台。在我的数据库中,这将失败,因为我们有区分大小写的排序规则。不知道cte与此有什么关系?它在SQL Server 2016 SP1上运行良好。取出
选择@counter
并将其放在
结束后。检查你是否得到11分。这是调试的一部分。这很有趣,因为如果我把select@counter放在最后,我实际上会得到一个11…所以循环实际上会运行,但在运行select时会中断?sap的问题是我不能使用print,我只能使用select。它运行,但它不打印任何内容,即使我只是键入print 1,sap的问题是我不能使用print,我只能使用select。它运行,但它不打印任何东西,即使我只是键入print 1