Това е таблична функция. Така че вероятно сте имали предвид:
SELECT p.DOCTORFISTNAME, p.DOCTORLASTNAME, t.FirstName, t.Middle, t.LastName
FROM dbo.[PracticeandPhysician] AS p
CROSS APPLY dbo.fnParseName(p.DOCTORFIRSTNAME + ' ' + p.DOCTORLASTNAME);
Имайте предвид, че не можете да кажете:
SELECT dbo.TableValueFunction('foo');
Нещо повече, отколкото можете да кажете:
SELECT dbo.Table;
--or
SELECT dbo.View;
Можете обаче да кажете:
SELECT * FROM dbo.fnParseName('foo bar');
--or
SELECT FirstName, Middle, LastName FROM dbo.fnParseName('foo bar');
(Не че съм потвърдил, че вашата функция прави това, което мислите, или го прави ефективно.)
Моля, винаги използвайте dbo.
префикс
както предложиха други.