无限SQL循环问题

-4 sql sql-server loops infinite while-loop

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

我已经在网上跟踪了基本的例子,如果这是0级的东西,我似乎没有任何额外的东西我没有这么道歉.

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

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

While (@bid_loop <= @maxcount2)
BEGIN
    select * from @BranchIDList
END
Run Code Online (Sandbox Code Playgroud)

Luk*_*zda 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;
Run Code Online (Sandbox Code Playgroud)

基本上它相当于FOR LOOP(在T-SQL中不可用).


你也可以使用GO以下方法重写它:

计数

是正整数.GO之前的批次将执行指定的次数.

select * from @BranchIDList;
GO 11
Run Code Online (Sandbox Code Playgroud)