[SQL Server 2008 标准]
我有一个存储过程,用于将新数据插入表中,它按预期工作。但是,我现在需要使用查询结果作为参数多次调用此存储过程。
例如
select
name, age, foo, bar
from
sometable
where
wobble = 'true'
exec insertProc name age foo bar
我知道我可以使用光标来实现这一点,但我一直在读“光标很糟糕”……但我不知道还有其他方法可以做到这一点吗?
[SQL Server 2008 标准]
我有一个存储过程,用于将新数据插入表中,它按预期工作。但是,我现在需要使用查询结果作为参数多次调用此存储过程。
例如
select
name, age, foo, bar
from
sometable
where
wobble = 'true'
exec insertProc name age foo bar
我知道我可以使用光标来实现这一点,但我一直在读“光标很糟糕”……但我不知道还有其他方法可以做到这一点吗?
一种解决方案是使用游标。其他是在调用过程之前将结果集准备到临时表中,然后将其提供给过程(您必须通过添加表值参数作为输入参数来更改过程)。msdn中的一些信息。