SQL Server中存储过程的可选参数

时间:2018-10-25 19:08:54

标签: sql-server stored-procedures

我必须编写一个带有可选参数的存储过程。

This是我执行不带参数的存储过程时得到的-没关系。另外,当我使用部门名称进行this时,但是当我使用姓氏作为参数时,会抛出this

任何想法如何解决这个问题?请!

2 个答案:

答案 0 :(得分:1)

第三次proc执行

exec consulta 'Gaitan'

未与姓氏进行比较。由于未在过程调用中指定参数名称,因此将其作为第一个参数传递。

尝试将参数名称添加到过程调用。您应该看到自己的期望。

类似这样的东西:

exec consulta   @Apellido = 'Gaitan'

答案 1 :(得分:0)

要传递不是第一个参数的可选参数,您需要特别提及参数名称:

EXEC consulta @Apellido = 'Gaitan' -- Last name
EXEC consulta @nombre = 'Cirugia' -- Dept name
EXEC consulta 'Cirugia' -- Dept name (passed into @nombre)