使用表值参数从另一个存储过程中调用现有存储过程

时间:2019-08-07 00:23:39

标签: sql-server stored-procedures table-valued-parameters

目标:使用不同的值集多次调用现有存储过程,例如参数1 {100000,100001,100002 ....},....

dbo.ExistingStoredProc =具有2个参数{int,varchar(20)}

的现有存储过程

我将表值参数用于此任务。但是,修改现有存储过程以用一个表值参数替换两个参数真是一团糟。因此,我考虑过使用表值参数创建另一个存储过程,然后调用现有存储过程。 这可能吗?

dbo.CallingStoredProc =具有表值参数的存储过程,并调用dbo.ExistingStoredProc

dbo.CallingStoredProc(简化为1个参数)

@TvpParameter tvpMyType READONLY

Declare @sn int

Select @sn = SerialNumber from @TvpParameter

EXEC dbo.ExistingStoredProc @sn

执行dbo.CallingStoredProc

的修改脚本
DECLARE @TvpParameter AS dbo.tvpMyType

INSERT INTO @TvpParameter (SerialNumber)    VALUES (123456), (654321)

DECLARE @return_value int

EXEC    @return_value = dbo.CallingStoredProc           
@tvpExistingPar = @TvpParameter

SELECT  'Return Value' = @return_value


结果
我只得到TVP中最后一项的结果,即SerialNumber = 654321。

0 个答案:

没有答案