Erreur SQL Server 2012: les parameters n'ont pas été fournis pour la fonction X

J'ai défini une fonction table X avec 11 parameters. Leurs types sont nvarchar(30) , nvarchar(30) , datetime , datetime , nvarchar(15) , nvarchar(4) , xml , nvarchar(8) , nvarchar(80) , bit et bit respectivement. Ceci est pour Microsoft SQL Server 2012. Lorsque j'appelle la fonction avec

 select * from X('A','B','2014-01-01','2014-12-31',null,null,'<C><D>E</D></C>',null,null,1,0) 

Je rencontre cette erreur:

 Parameters were not supplied for the function X 

Il est apparemment différent des deux suivants:

 An insufficient number of arguments were supplied for the procedure or function X Procedure or function X has too many arguments specified. 

Est-ce lié à deux des valeurs de paramètre prévues étant null ? Comment puis-je surmonter le problème et définir / appeler une fonction table telle que celle-ci avec 11 parameters, dont certains peuvent porter null ?

UPDATE Le problème persiste si je passe des strings arbitraires au lieu de null . Donc, il doit y avoir une autre erreur (peut-être stupide).

La façon correcte de définir une fonction comme celle que vous décrivez est la suivante:

 CREATE FUNCTION X ( -- Add the parameters for the function here @a nvarchar(30), @b nvarchar(30), @c datetime, @d datetime, @e nvarchar(15), @f nvarchar(4), @g xml, @h nvarchar(8), @i nvarchar(80), @j bit, @k bit ) RETURNS @output TABLE ( -- Add the column definitions for the TABLE variable here data nvarchar(250) ) AS BEGIN INSERT INTO @output (data) VALUES (@a + @b) RETURN END GO 

Compte tenu de la définition ci-dessus, ceci:

 select * from X('A','B','2014-01-01','2014-12-31',null,null,'<C><D>E</D></C>',null,null,1,0) 

donne le résultat suivant:

 data ---- AB