我们在定义procedure和function的时候,都可以为相关的参数指定默认值,在调用procedure和fucniton时如何不给有默认值的参数 指定的值时,让其默认值生效。
1.procedure
定义一个procedure
create procedure ups_testpro(@i int =1,@k int=3,@sum int output)
as
begin
set @r=@i+@k
end
调用usp_testpro让其默认值生效:
declare @r int
usp_testpro @sum=@r output
2.function
定义一个function
create function udf_testfunction(@i int =1,@k int=3)
returns int
as
begin
return @i+@k
end
调用udf_testfunction让其默认值生效:
select udf_testfunction(default,default)
总之:如果procedure想使用默认值,可以省略掉有默认值的参数,但是procedure带有输出参数,一定要给输出参数赋予一个接受参数。
如果函数要想使用默认值,在给参数赋值的地方使用default即可。