Unlike stored procedure parameters, When a parameter of the function has a default value, the keyword 'DEFAULT' must be specified when calling the function in order to get the default value.
CREATE FUNCTION [dbo].[FUNCTIONNAME] (
@P1 int,
@P2 int =0
)........
select * from dbo.FUNCTIONNAME(1)
Result: an error message:
An insufficient number of arguments were supplied for the procedure or function dbo.FUNCTIONNAME.
Solution:
We have to use the 'DEFAULT' keyword:
Select * from dbo.FUNCTIONNAME(1, DEFAULT)
If the 2 parameters have default,
CREATE FUNCTION [dbo].[FUNCTIONNAME] (
@P1 int =0,
@P2 int =0
)........
we have to use 'DEFAULT' twice:
Select * from dbo.FUNCTIONNAME(DEFAULT, DEFAULT)
No comments:
Post a Comment