我有一个程序,其中我允许可变数量的参数,即
CREATE Procedure OutputProcedure
@FirstName nvarchar(20) = null,
@MiddleName nvarchar(20) = null,
@LastName nvarchar(20) = null,
@City nvarchar(20) = null,
@AveragePercentage int out
AS
BEGIN
/*CODE*/
End
现在,我希望能够计算传递给此过程本身内部过程的参数数量。我怎么能这样做?
我找到了This,但它会检查参数的名称,如果我只是在同一程序中进行计数,我认为不应该这样。
答案 0 :(得分:1)
您可以在SP
内执行此操作。试试这个。
Declare @cnt int
select @cnt = case when @FirstName is not null then 1 else 0 End+
case when @MiddleName is not null then 1 else 0 End+
case when @LastName is not null then 1 else 0 End+
case when @City is not null then 1 else 0 End
Select @cnt