Jest to funkcja z wartościami tabelarycznymi. Więc prawdopodobnie miałeś na myśli:
SELECT p.DOCTORFISTNAME, p.DOCTORLASTNAME, t.FirstName, t.Middle, t.LastName
FROM dbo.[PracticeandPhysician] AS p
CROSS APPLY dbo.fnParseName(p.DOCTORFIRSTNAME + ' ' + p.DOCTORLASTNAME);
Pamiętaj, że nie możesz powiedzieć:
SELECT dbo.TableValueFunction('foo');
Więcej niż można powiedzieć:
SELECT dbo.Table;
--or
SELECT dbo.View;
Możesz jednak powiedzieć:
SELECT * FROM dbo.fnParseName('foo bar');
--or
SELECT FirstName, Middle, LastName FROM dbo.fnParseName('foo bar');
(Nie żebym potwierdził, że twoja funkcja robi to, co myślisz, lub robi to wydajnie.)
Proszę zawsze używaj dbo.
prefiks
jak sugerowali inni.