CREATE FUNCTION [ owner_name.] function_name
    ( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] ) RETURNS scalar_return_data_type[ WITH < function_option> [ [,] ...n] ] [ AS ]BEGIN
    function_body
    RETURN scalar_expression
END定义变量时加上=缺省值即可(红色字部分)

解决方案 »

  1.   

    我的意识是 当执行时是使用
    select dbo.dd() 而不是 select dbo.dd(default)
      

  2.   

    default算很简化了..没有其他办法
      

  3.   

    select dbo.dd(default) 就这样还不简化?
      

  4.   

     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)