sql >> Base de Datos >  >> RDS >> Sqlserver

no es un nombre de función incorporado reconocido

Es una función con valores de tabla. Entonces probablemente quisiste decir:

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

Tenga en cuenta que no puede decir:

SELECT dbo.TableValueFunction('foo');

Más de lo que podrías decir:

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

Sin embargo, puede decir:

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

(No es que haya validado que su función haga lo que piensa, o lo haga de manera eficiente).

utilice siempre el dbo. prefijo como otros han sugerido.