好的,我知道它可以完成,我经常这样做,但为什么在T-SQL中进行循环这么困难?我可以想到我想要通过查询结果集解析的大量原因,并且做一些在没有循环的情况下无法完成的事情,但是设置和执行我的循环的代码是> 20行.
我相信其他人也有类似的意见,为什么我们仍然没有简单的方法来执行循环?
抛开:我们终于在SQL2008中得到了一个UPSERT(又名MERGE),所以也许所有的希望都不会丢失.
SQL是一种基于集合的声明性语言 ; 不是程序性或命令性的语言.T-SQL试图跨越这两者,但它仍然建立在一个基本的基于集合的范例上.
我可以想到我想要通过查询结果集解析的大量原因并做一些没有循环就无法完成的事情
对于绝大多数人,我可以向您展示如何在基于集合的操作中执行此操作,或者解释为什么应该在您的客户端代码而不是数据库中完成它.需要在sql中进行循环是非常罕见的.