首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从执行报表过程中选择特定列

如何从执行报表过程中选择特定列
EN

Stack Overflow用户
提问于 2013-03-29 01:54:31
回答 1查看 147关注 0票数 0

如何从存储过程中仅选择特定列:

代码语言:javascript
复制
DECLARE @return_value int

EXEC    @return_value = [dbo].[PositionsForNAV_PairTrades]
        @ComparePeriod = 'MTD',
        @OverrideCompareDate = '2010-12-31',
        @PortfolioId = '5',
        @OverrideStartDate = NULL,
        @NewPositionsOnly = 0,
        @ReportType = 0,
        @SourceID = 13,
        @SecurityType = 'Bond',
        @LongShort = 1
GO

它给了我很多列,请帮助我如何从结果中只选择3-4个特定的列。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-29 02:08:17

您不能为此使用返回值。存储过程只有一个返回值,它用于错误代码/状态值,而不是数据。它也被限制为整数。

您需要创建一个具有存储过程输出结构的#temp表,然后执行以下操作:

代码语言:javascript
复制
INSERT #temp EXEC dbo.StoredProcedureName ...
SELECT col1, col2 FROM #temp;

或者,您可以使用其他各种技巧,比如使用OPENQUERY来对抗回送提供程序(我甚至不打算展示这一点,因为我认为这不是一个好主意)。

有关在过程之间共享数据的更多想法,请参阅:

http://www.sommarskog.se/share_data.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15688852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档