我有一个临时表(或者说,一个返回值表的函数)。
我想为表中的每条记录执行一些语句。 这可以在不使用游标的情况下完成吗?
我并不反对游标,但希望采用更优雅的语法方式。
类似这种随机编写的语法:
for (select A,B from @temp) exec DoSomething A,B
我正在使用Sql Server 2005。
答案 0 :(得分:1)
我不认为你想要的是那么容易。
我发现你可以创建一个带有参数A和B的标量函数,然后从函数中执行扩展存储过程。这可能会实现您想要做的事情,但似乎这可能会使代码更加复杂。
我认为为了可读性和可维护性,您应该坚持使用CURSOR。
答案 1 :(得分:0)
我会考虑更改存储过程,以便它可以对一组数据而不是一行输入。
答案 2 :(得分:0)
如果您需要CROSS/OUTER APPLY
处理,RBAR会做您想做的事。
它很优雅,但取决于你需要做什么处理