【发布时间】:2011-08-29 11:13:50
【问题描述】:
TSQL 中for 循环的语法是什么?
【问题讨论】:
-
SQL 与您习惯的语言相比是一种非常不同的语言。它关注的是what,而不是how。你告诉 SQL Server 你想要什么结果,然后让它弄清楚如何产生答案。或者,重新表述一下我刚才所说的 - SQL 中没有 for 循环。
-
WHILE @I < 10; SET @I = @I + 1; BEGIN; ...; END?但是,这应该不用于大多数查询处理(但有时需要用于命令式操作)。使用搜索“tsql for loop”可以在 google 上找到许多这样的说明/提示。 -
避免循环以支持 JOIN 和集合操作。
-
如果您不是 SQL 专家,则不应考虑使用循环。只有少数情况需要使用循环,而在其余大部分时间,使用循环相当于推动汽车而不是驾驶汽车。学会从数据集的角度思考,而不是遍历记录。 LOoping 是一个专家级功能,不是因为语法难,而是因为你需要确切知道你可以用它造成多大的伤害,然后才能被允许使用它。
-
有时它可以用来在测试数据库中快速生成测试数据,无论如何你很快就会删除这些数据。在这种情况下,使用它消除了通过类似 C# 编写的单独程序的需要,并且工程并不是特别重要的问题。再说一次,我只是在测试数据方面这么说。
标签: sql sql-server loops tsql syntax