Je to tabulková funkce. Takže jste pravděpodobně mysleli:
SELECT p.DOCTORFISTNAME, p.DOCTORLASTNAME, t.FirstName, t.Middle, t.LastName
FROM dbo.[PracticeandPhysician] AS p
CROSS APPLY dbo.fnParseName(p.DOCTORFIRSTNAME + ' ' + p.DOCTORLASTNAME);
Všimněte si, že nemůžete říct:
SELECT dbo.TableValueFunction('foo');
Nic víc, než byste mohli říct:
SELECT dbo.Table;
--or
SELECT dbo.View;
Můžete však říci:
SELECT * FROM dbo.fnParseName('foo bar');
--or
SELECT FirstName, Middle, LastName FROM dbo.fnParseName('foo bar');
(Ne že bych potvrdil, že vaše funkce dělá to, co si myslíte, nebo že to dělá efektivně.)
Prosím vždy používejte dbo.
prefix
jak navrhli jiní.