无法使用 Dbeaver 在 SQL 服务器中执行 while 子句
Can't execute a while clause in SQL Server with Dbeaver
我试图在 SQL 服务器的 Dbeaver 中执行一个循环 while
,但是该语句一直在加载并且不执行它。我只想打印'ok!'这个词3次。
我不确定这是循环问题、Dbeaver 问题还是其他问题。
有人可以帮忙吗?
我的代码:
DECLARE @cnt INT = 0;
WHILE @cnt < 3
BEGIN
PRINT 'ok!';
END;
Screenshot from Dbeaver
@cnt
永远不会增加,所以这个循环永远不会结束。它永远不会将控制权交还给系统,让它甚至显示第一个 ok
字符串。您需要添加:
DECLARE @cnt INT = 0;
WHILE @cnt < 3
BEGIN
PRINT 'ok!';
Set @cnt = @cnt + 1;
END;
无论如何,100 次中有 99 次,如果您在 SQL 中编写循环,那么您就做错了。 SQL 真的想一次对整个 集合 进行操作,而不是通过循环对集合中的单个项目进行操作。
我试图在 SQL 服务器的 Dbeaver 中执行一个循环 while
,但是该语句一直在加载并且不执行它。我只想打印'ok!'这个词3次。
我不确定这是循环问题、Dbeaver 问题还是其他问题。
有人可以帮忙吗?
我的代码:
DECLARE @cnt INT = 0;
WHILE @cnt < 3
BEGIN
PRINT 'ok!';
END;
Screenshot from Dbeaver
@cnt
永远不会增加,所以这个循环永远不会结束。它永远不会将控制权交还给系统,让它甚至显示第一个 ok
字符串。您需要添加:
DECLARE @cnt INT = 0;
WHILE @cnt < 3
BEGIN
PRINT 'ok!';
Set @cnt = @cnt + 1;
END;
无论如何,100 次中有 99 次,如果您在 SQL 中编写循环,那么您就做错了。 SQL 真的想一次对整个 集合 进行操作,而不是通过循环对集合中的单个项目进行操作。