1

我有一种情况,我必须从同一个查询中检索不同场景的记录集。我的意思是,如果我传递 2 个参数,则必须创建一个函数或存储过程可以运行多个参数,然后如果我传递 3 个参数,它就可以工作,然后也可以工作,依此类推。我们可以创建一个可以在 sql server 中传递变量参数的 Sp 或函数吗?

4

1 回答 1

1

您可以使用可选(默认)参数创建存储过程:

CREATE PROCEDURE TestProcedure
(
   @Param1 int = null,
   @Param2 int = null,
   ...
   @ParamN int = null)
{
   //do stuff
}

然后你可以把它称为

EXEC TestProcedure 1
EXEC TestProcedure 1, 2

等等等等,直到

EXEC TestProcedure 1, 2 ... N

这显然意味着参数数量的上限,但是如果您可以接受,它将实现您所描述的

于 2012-09-03T08:42:08.140 回答