将参数发送到 SQL 服务器中的存储过程的选项

Option of Sending parameters to stored procedure in SQL Server

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

存储过程定义:

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

执行语句:

exec SP_name  valueForP2,vlaueForP5..;

为什么要告诉 exec 语句只取一些变量?

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

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;