我有一种情况,我必须从同一查询中检索不同场景的记录集。我的意思是,必须创建一个函数或存储过程可以运行多个参数,如果我传递2参数然后它可以工作,如果我传递3参数然后也能够工作等等。我们可以创建一个Sp或函数,我们可以在sql server中传递变量参数吗?
答案 0 :(得分: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
这显然意味着参数数量的上限,但是如果这对你来说是可接受的,那么它将实现你所描述的内容