Sql 创建参数数目可变的存储过程

Sql 创建参数数目可变的存储过程,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我想创建一个具有不同数量参数的SQL Server存储过程。它类似于C#中的“params” 我怎么做呢?你做不到 您可以做的是为某些存储过程参数提供默认值,这样在调用存储过程时就不必指定它们 如果您使用的是SQL Server 2008或更高版本,还可以研究(或)-基本上是将数据表传递到存储过程的能力。也许这会有帮助。将它们放在XML中,然后尝试OPENXML功能 据我所知,表值参数也有特定数量的列,应该传递这些列(创建类型时存在的列)?那么如何实现一些函数,例如C#string.Join?这

我想创建一个具有不同数量参数的SQL Server存储过程。它类似于C#中的“params”


我怎么做呢?

做不到

您可以做的是为某些存储过程参数提供默认值,这样在调用存储过程时就不必指定它们


如果您使用的是SQL Server 2008或更高版本,还可以研究(或)-基本上是将数据表传递到存储过程的能力。也许这会有帮助。

将它们放在XML中,然后尝试OPENXML功能


据我所知,表值参数也有特定数量的列,应该传递这些列(创建类型时存在的列)?那么如何实现一些函数,例如C#
string.Join
?这是不可能的?我们可以创建一个表参数,但需要的语法是
DELCARE@something varchar(max)=STRING_JOIN(',','a','b','z'),如sp_executesql
所做的