Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

nie jest rozpoznawaną nazwą funkcji wbudowanej

Jest to funkcja z wartościami tabelarycznymi. Więc prawdopodobnie miałeś na myśli:

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

Pamiętaj, że nie możesz powiedzieć:

SELECT dbo.TableValueFunction('foo');

Więcej niż można powiedzieć:

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

Możesz jednak powiedzieć:

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

(Nie żebym potwierdził, że twoja funkcja robi to, co myślisz, lub robi to wydajnie.)

Proszę zawsze używaj dbo. prefiks jak sugerowali inni.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klauzula SQL WHERE dopasowująca wartości z końcowymi spacjami

  2. Pobieranie określonej części ciągu w T-SQL

  3. Co robi 'COLLATE SQL_Latin1_General_CP1_CI_AS'?

  4. SQL:widok dynamiczny z nazwami kolumn opartymi na wartościach kolumn w tabeli źródłowej

  5. SQL Server 2016:Widok projektanta