4

我正在使用 SQL Server 2005。

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

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

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

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

如果有,怎么写?下面的代码不起作用:

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

1 回答 1

1

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

Insert Into #TempTable
Exec dbo.sp_myName

Select    ID, Title,...
From      #TempTable
于 2012-09-18T14:25:25.590 回答