无限SQL循环问题

时间:2018-04-13 15:47:08

标签: sql sql-server loops while-loop infinite

这里有超级基本的东西,但我似乎无法阻止循环重复到无穷大。我开始抓取计数值并将它们存储到变量中,但是当它没有工作时,我想通过声明数字来测试它们,将其剥离回基础。

我已经在网上跟踪了基本的例子,并且它们似乎没有任何额外的内容,如果这是0级的话,我就不会道歉。

(我希望select语句的结果显示11次,但它会永远持续下去)

Declare @bid_loop int = 0
Declare @maxcount2 int = 10

While (@bid_loop <= @maxcount2)
BEGIN
    select * from @BranchIDList
END

1 个答案:

答案 0 :(得分:7)

您需要增加@bid_loop

Declare @bid_loop int = 0;
Declare @maxcount2 int = 10;

While (@bid_loop <= @maxcount2)
BEGIN
    select * from @BranchIDList;
    SET @bid_loop +=1;             -- here
END;

基本上它等同于FOR LOOP(在T-SQL中不可用)。

您也可以使用GO重写它:

  

计数

     

是一个正整数。 GO之前的批次将执行指定的次数。

select * from @BranchIDList;
GO 11