Passage des valeurs par défaut des paramètres aux fonctions de table valorisées

create function Xtest
(@d1 varchar(3)=null
,@d2 varchar(3)=null)
returns table 
as
return 
with code_list(code_pattern)
as
(
    select x.code_pattern
        from (values (@d1),(@d2)) as x(code_pattern)
        where x.code_pattern is not null
),y
as
(
    select substring(code,1,3) as code
        from tblicd
        where substring(code,1,3) in 
        (
            select * from code_list
        )
)

select * from y 

est ma fonction qui va faire sens quand il est entièrement terminé. Si j'essaie d'exécuter cette requête et je n'ai pas l'approvisionnement de deux paramètres, il échouera. J'ai le même code en tant que procédure stockée et si je ne saisissez un paramètre, il fonctionne très bien et ayants droit le deuxième paramètre est null. Est-il possible que je peux passer null que la valeur d'un paramètre si le paramètre n'est pas fourni, comme on peut le faire avec des procédures stockées?

La fonction de compilation.

source d'informationauteur wootscootinboogie