Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何从执行报告过程中选择特定列_Sql_Sql Server_Sql Server 2008_Tsql - Fatal编程技术网

Sql 如何从执行报告过程中选择特定列

Sql 如何从执行报告过程中选择特定列,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,如何仅从存储过程中选择特定列: DECLARE @return_value int EXEC @return_value = [dbo].[PositionsForNAV_PairTrades] @ComparePeriod = 'MTD', @OverrideCompareDate = '2010-12-31', @PortfolioId = '5', @OverrideStartDate = NULL,

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

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个特定列

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

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

INSERT #temp EXEC dbo.StoredProcedureName ...
SELECT col1, col2 FROM #temp;
或者你可以使用各种其他的黑客手段,比如对环回提供者使用OPENQUERY,我甚至不打算展示它,因为我认为这是个坏主意

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


请发布程序的代码。当我试图直接执行它时,我不能做任何修改吗?过程代码的数量太多: