Creo que te puede funcionar. Es hacer un cursor con cada registro de tu origen de datos
Código trasactsql:
Ver originaldeclare @iId as int
DECLARE Id_Cursor CURSOR FOR
select * from TABLA_PRODUCTOS where precio<5;
OPEN Id_Cursor FETCH NEXT FROM Id_Cursor INTO @iId
WHILE @@FETCH_STATUS = 0
BEGIN
storeProcedure(@iId)
FETCH NEXT FROM Id_Cursor INTO @iId
END;
CLOSE Id_Cursor
DEALLOCATE Id_Cursor