SQL 函數如何設置參數默認值

今天在開發項目過程中需要實際的場景,需要一個函數支持多出使用的情況,於是想測試下SQL的函數是否可以使用默認值,並調用時不用傳遞多餘參數。

create   function [dbo].[fnbi_get_glvoucher_amount]
(@company_code nvarchar(40), @account_code nvarchar(400) , @begin_period datetime,@end_period datetime,
@refer_code nvarchar(40)=null ,@account_direction nvarchar(40)=null) 
	returns  decimal(18,6)
AS
begin
--...........................
--..........................
end

--這樣執行報錯,如下
--消息 313,級別 16,狀態 2,第 1 行
--爲過程或函數 dbo.fnbi_get_glvoucher_amount 提供的參數數目不足。
print dbo.fnbi_get_glvoucher_amount('','550123', '2016-1-1' ,'2016-4-1')

--後來經過各種搜索,有人建議採用如下方式,使用default來替代
--經過驗證確實可以
print dbo.fnbi_get_glvoucher_amount('','550123', '2016-1-1' ,'2016-4-1',default,default)

--不過以上並沒有達到我預期的效果,看來以後只能分開函數實現了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章