sql-server – 如何将可变数量的参数传递给SQL Server存储过程?

前端之家收集整理的这篇文章主要介绍了sql-server – 如何将可变数量的参数传递给SQL Server存储过程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用sql Server 2005作为我的小型Web应用程序.我想传递参数到SP.
但有一个条件.可随时更改的参数数量.
想想,这次我通过名称和地址,下次我通过名字,姓氏,地址,

该参数范围可以为1-30,

解决方法

您使用默认参数声明过程,并使用命名参数调用它,而不是位置参数:
CREATE PROCEDURE usp_myProcedure
  @name varchar(100) = '',@surname varchar(100) = '',@address varchar(100) = ''
AS
BEGIN
...
END

从T-sql调用它:

exec usp_myProcedure @name='John',@surname = 'Doe';
exec usp_myProcedure @name='Jane',@address = '123 Anystreet';

从C#调用它:

sqlCommand cmd = new sqlCommand('usp_MyProcedure',...);
cmd.CommandType = commandtype.StoredProcedure;
cmd.Parameters.AddWithValue('@name','John');
cmd.Parameters.AddWithValue('@surname','Doe');

猜你在找的MsSQL相关文章