【发布时间】:2016-12-07 03:13:10
【问题描述】:
我使用的是 SQL Server 2005。
我的存储过程返回 100 列并有 10 页。
我只需要返回 5 列,并且不想通过创建新的存储过程来复制 10 页的存储过程。
我想避免定义一个包含 100 列的新表变量!而且我想避免定义 LinkServer 并使用 OPENROWSET 因为服务器名称等不应该是硬编码的。
有没有更简单/更好的方法?
如果有,怎么写?下面的代码不起作用:
select ID, Title, (the remaining 3 columns)
from exec dbo.sp_myName
【问题讨论】:
-
您应该编写另一个只返回您需要的 10 个的存储过程。不过可以通过
OPENROWSET进行。 -
谢谢,但我不想硬编码服务器和数据库名称。更新了问题。如果可能,我不想复制存储过程。
-
stackoverflow.com/questions/7417881/… 的可能重复项,虽然这个问题是指只获得一列....
标签: sql-server tsql variables stored-procedures