在SQL Server

时间:2015-10-29 09:58:10

标签: sql-server sql-server-2012-express

我有一个接受10个参数的存储过程。我想在执行另一个存储过程时发送一些这些参数。我怎么能这样做?

存储过程定义:

create PROCEDURE [dbo].[SP_name] 
    @p1 int = null,
    @p2 int = null
    ..
    ..
    @p10 int = null

执行声明:

exec SP_name  valueForP2,vlaueForP5..;

有没有什么可以告诉exec语句只采取一些变量?

1 个答案:

答案 0 :(得分:2)

您可以在对过程的调用中指定参数名称,其他参数将使用默认值。

create PROCEDURE [dbo].[SP_name] 
    @p1 int = null,
    @p2 int = NULL,
    @p10 int = NULL
AS 
    SELECT @p1, @p2, @p10

GO

-- Execute using named parameters
EXEC    [SP_name] @p1 = 1, @p10 = 5;