Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

ist kein erkannter integrierter Funktionsname

Es ist eine Tabellenfunktion. Sie meinten also wahrscheinlich:

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

Beachten Sie, dass Sie Folgendes nicht sagen können:

SELECT dbo.TableValueFunction('foo');

Mehr als man sagen könnte:

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

Sie können jedoch sagen:

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

(Nicht, dass ich bestätigt hätte, dass Ihre Funktion das tut, was Sie denken, oder dies effizient tut.)

Bitte verwenden Sie immer den dbo. Präfix wie andere vorgeschlagen haben.