Sql 对一组值执行过程
我有一个存储过程,它从一个表(有大约900个条目)的ID列中获取值作为输入来执行所需的操作。是否有一种简单的方法可以通过SQL语句(类似于SQL中不存在的for循环)为ID列的所有值执行存储过程 谢谢你的提示 梅尔文感谢马丁 我选择光标版本,它的运行速度足够快:Sql 对一组值执行过程,sql,sql-server-2008,tsql,stored-procedures,Sql,Sql Server 2008,Tsql,Stored Procedures,我有一个存储过程,它从一个表(有大约900个条目)的ID列中获取值作为输入来执行所需的操作。是否有一种简单的方法可以通过SQL语句(类似于SQL中不存在的for循环)为ID列的所有值执行存储过程 谢谢你的提示 梅尔文感谢马丁 我选择光标版本,它的运行速度足够快: DECLARE @ProID int DECLARE position_cursor CURSOR FOR SELECT ProID FROM MyTable OPEN position_cursor FETCH NEXT FR
DECLARE @ProID int
DECLARE position_cursor CURSOR
FOR SELECT ProID FROM MyTable
OPEN position_cursor
FETCH NEXT FROM position_cursor INTO @ProID
WHILE @@FETCH_STATUS = 0
BEGIN
exec MyProcedure @ProID
FETCH NEXT FROM position_cursor INTO @ProID
END
CLOSE position_cursor
DEALLOCATE position_cursor
询问代码的问题必须证明已尝试过。向我们展示您当前的代码和您尝试过的内容。您可以使用游标或
WHILE
循环,但最好重写存储过程以接受TVP并以基于集合的方式处理它。由于您将不得不运行您的进程900次,因此我建议您不要使用循环或游标;您可以使用性能更好的SSI。