Still not clear to me
If all you need is to returns a SET of data for a report, then I am not sure that you need any temporarily table or your SP. We need to see the real scenario in order to choose if a temp table and the SP are needed. Your assumption is that you need these and you search for solution on how to use it. My feeling is that the SP is not needed and you simply need to build a query which return the information that you need for your report directly.
Anyway, you should probably not execute the SP multiple times for each row in a table in order to update each row separately.
If you provide real information to reproduce the scenario the we did not need so many stories and attempt to explain what we could see.
So I would like to know how to update that rate column in @temp table from that stored procedure output for all the records in the @temp table result.
This is my point!!!
I get a feeling that you ask the wrong question and you do not need to do this task
You ask "how to do X?" while I am asking "Do you really need to do X, when your real goal is Y" ?
We need to understand what is your real goal and what is your real source data. If the real goal is the report then why do you use that temporarily table and this SP?!? You probably need to use a different road
I think you should start from scratch and provide DDL+DML+ explain what is your goal (report mean a SELECT query which return something which is the goal for the task) and what is your expected result from the DDL+DML