try to change your method if you need to loop!
within the parent stored procedure, create a #temp table that contains the data that you need to process. Call the child stored procedure, the #temp table will be visible and you can process it, hopefully working with the entire set of data and without a cursor or loop.
this really depends on what this child stored procedure is doing. If you are updating, you can "update from" joining in the #temp table and do all the work in one statement without a loop. The same can be done for insert and deletes. If you need to do multiple updates with IFs you can convert those to multiple "update from" with the #temp table and use CASE statements or WHERE conditions.
when working in a data base try to loos the mindset of looping, it is a real performance drain, will cause locking/blocking and slow down the processing. If you loop everywhere, your system will not scale very well, and will be very hard to speed up when user start complaining about slow refreshes.
post the content of this procedure you want call in a loop, and I'll bet 9 out of 10 times, you could write it to work on a set of rows.