如何将多个值代替单值传递给存储过程

时间:2013-12-19 05:07:11

标签: sql sql-server stored-procedures parameters execute

我有一个存储过程,当我使用时,它会被完美地执行:

exec spSampleAmount 12212,0 

现在我需要通过" 12212,12213,12214,12215"这些值来自另一个查询。如何将此查询结果传递给2参数存储过程。

exec spSampleAmount param1,param2;

param1有一组值。

2 个答案:

答案 0 :(得分:0)

将第一个查询的输出存储在参数中。首先声明参数,然后将第一个查询的值赋给该参数,然后调用exec命令来执行存储过程。

DECLARE @V_Param1 VARCHAR(1000);

SELECT @V_Param1 = Rest of query

EXEC spSampleAmount @V_Param1, 0

答案 1 :(得分:0)

如果SSRS调用它是可能的,我不确切知道它是如何工作的,但确实如此。

您有两种方法可以从ssrs,sql query和write execute调用存储过程。或者选择执行存储过程。

通过这种方式,您可以将选择从多项选择组合框传递到存储过程,并在存储过程中执行:myparam in(@paramreceived)。

也应该可以在.Net。

我试图在tsql中这样做,但我从未成功,所以如果有解决方案,我也会感兴趣