TSQL中for循环的语法是什么?
当前回答
这个怎么样:
BEGIN
Do Something
END
GO 10
... 当然,如果需要计数,可以在其中放入增量计数器。
其他回答
这个怎么样:
BEGIN
Do Something
END
GO 10
... 当然,如果需要计数,可以在其中放入增量计数器。
没有for循环,只有while循环:
DECLARE @i int = 0
WHILE @i < 20
BEGIN
SET @i = @i + 1
/* do some work */
END
简单的答案是否定的!!
在SQL中没有FOR,但是你可以使用WHILE或GOTO来实现 FOR的工作方式。
而:
DECLARE @a INT = 10
WHILE @a <= 20
BEGIN
PRINT @a
SET @a = @a + 1
END
转到:
DECLARE @a INT = 10
a:
PRINT @a
SET @a = @a + 1
IF @a < = 20
BEGIN
GOTO a
END
我总是更喜欢WHILE而不是GOTO语句。
SQL server还没有正式支持For循环。已经有了实现FOR Loop的不同方法的答案。我正在详细回答如何在SQL server中实现不同类型的循环。
FOR循环
DECLARE @cnt INT = 0;
WHILE @cnt < 10
BEGIN
PRINT 'Inside FOR LOOP';
SET @cnt = @cnt + 1;
END;
PRINT 'Done FOR LOOP';
如果你知道,你需要完成循环的第一次迭代,那么你可以尝试DO..WHILE或REPEAT..UNTIL版本的SQL server。
做. . WHILE循环
DECLARE @X INT=1;
WAY: --> Here the DO statement
PRINT @X;
SET @X += 1;
IF @X<=10 GOTO WAY;
重复,直到循环
DECLARE @X INT = 1;
WAY: -- Here the REPEAT statement
PRINT @X;
SET @X += 1;
IFNOT(@X > 10) GOTO WAY;
参考
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
END
GO
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- 从现有模式生成表关系图(SQL Server)
- 在Java中,流相对于循环的优势是什么?
- 我如何循环通过一组记录在SQL Server?
- 数据库和模式的区别
- 如何在SQL Server中一次更改多个列
- 增强的for循环中的Null检查
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N