如何将存储过程的结果放入表变量?

时间:2012-09-18 13:40:32

标签: sql-server tsql variables stored-procedures

我正在使用SQL Server 2005。

我的存储过程返回100列,有10页。

我只需要返回5个列,并且不想通过创建新的存储过程来复制存储过程的10个页面。

我想避免使用100列定义新的表变量!我想避免定义LinkServer并使用OPENROWSET,因为服务器名称等不应该是硬编码的。

有没有更简单/更好的方法?

如果是这样,怎么写呢?以下代码不起作用:

select ID, Title, (the remaining 3 columns)
from exec dbo.sp_myName

1 个答案:

答案 0 :(得分:1)

您可以使用存储过程返回的所有列创建临时表,然后使用:

Insert Into #TempTable
Exec dbo.sp_myName

Select    ID, Title,...
From      #TempTable