Het is een functie met tabelwaarde. Dus je bedoelde waarschijnlijk:
SELECT p.DOCTORFISTNAME, p.DOCTORLASTNAME, t.FirstName, t.Middle, t.LastName
FROM dbo.[PracticeandPhysician] AS p
CROSS APPLY dbo.fnParseName(p.DOCTORFIRSTNAME + ' ' + p.DOCTORLASTNAME);
Merk op dat je niet kunt zeggen:
SELECT dbo.TableValueFunction('foo');
Meer dan je zou kunnen zeggen:
SELECT dbo.Table;
--or
SELECT dbo.View;
U kunt echter zeggen:
SELECT * FROM dbo.fnParseName('foo bar');
--or
SELECT FirstName, Middle, LastName FROM dbo.fnParseName('foo bar');
(Niet dat ik heb gevalideerd dat uw functie doet wat u denkt, of dat efficiënt doet.)
Gebruik altijd de dbo.
voorvoegsel
zoals anderen hebben gesuggereerd.