怎么讲存储过程的结果集放到一个table里

如何讲存储过程的结果集放到一个table里,
if (exists (select * from sys.objects where name = 'PR_P018'))
    drop proc PR_P018
go
create procedure PR_P018
as
 select * from Ttt
 go
 exec PR_P018

我写的一个简单的查询存储过程、如何将这个表的内容放到一个TABLE里?我在调用这个过程的时候 我可以接收到结果集,并按照字段在页面上显示出来
------解决思路----------------------
在程序里执行存储过程,可以获取得到

如.NET,可以直接用dbo的SqlDataAdapter把结果File到DataSet
------解决思路----------------------
一般采取的方式是 新建一个临时表 然后 INSERT INTO #TB EXEC PR_P018
------解决思路----------------------
可以采用 2# 的临时表的方式,如果数据量不大的话,使用 表变量也是个不错的选择。
------解决思路----------------------
查询到的结果本身就是一个table集合,然后你如果是c#,得到的就是一个dataset
------解决思路----------------------
数据库这边不需要EXEC
以下SQL脚本在数据库执行下
if (exists (select * from sys.objects where name = 'PR_P018'))
    drop proc PR_P018
go
create procedure PR_P018
as
 select * from Ttt
 go
C#上代码类似这样写就可以了
SqlConnection sqlconn = new SqlConnection(conn); 

         SqlCommand cmd = new SqlCommand(); 

         // 设置sql连接 

         cmd.Connection = "你的SQL连接"; 

         // 如果执行语句 

         cmd.CommandText = "PR_P018"; 

         // 指定执行语句为存储过程 

         cmd.CommandType = CommandType.StoredProcedure; 

        SqlDataAdapter dp = new SqlDataAdapter(cmd); 

         DataSet ds = new DataSet(); 

         // 填充dataset 

         dp.Fill(ds); 

         // 以下是显示效果 

         GridView1.DataSource = ds; 

         GridView1.DataBind();