sql >> Databáze >  >> RDS >> Sqlserver

není rozpoznaný název vestavěné funkce

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í.



  1. Příkaz mysql delete s limitem

  2. Odstranění výchozího trasování – část 1

  3. Jak mohu aktualizovat, pokud existuje, vložit, pokud ne (AKA upsert nebo merge) v MySQL?

  4. rozdíly v postgreSQL mysql Oracle