Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

n'est pas un nom de fonction intégré reconnu

C'est une fonction table. Donc vous vouliez probablement dire :

SELECT p.DOCTORFISTNAME, p.DOCTORLASTNAME, t.FirstName, t.Middle, t.LastName
  FROM dbo.[PracticeandPhysician] AS p
  CROSS APPLY dbo.fnParseName(p.DOCTORFIRSTNAME + ' ' + p.DOCTORLASTNAME);

Notez que vous ne pouvez pas dire :

SELECT dbo.TableValueFunction('foo');

Pas plus que vous ne pourriez dire :

SELECT dbo.Table;
--or
SELECT dbo.View;

Vous pouvez cependant dire :

SELECT * FROM dbo.fnParseName('foo bar');
--or
SELECT FirstName, Middle, LastName FROM dbo.fnParseName('foo bar');

(Ce n'est pas que j'ai validé que votre fonction fait ce que vous pensez, ou le fait efficacement.)

Veuillez toujours utiliser le dbo. préfixe comme d'autres l'ont suggéré.