sql >> Database >  >> RDS >> Sqlserver

is geen herkende ingebouwde functienaam

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.



  1. Dynamisch alias toewijzen aan alle veldnamen in msyql-query

  2. Hoe verander ik alle tabellen in mijn database in een UTF8-tekenset?

  3. Noodzaak om kennisgeving te verzenden in een batch van 1000

  4. SQL-query om records voorwaardelijk op te halen op basis van een lijst met sleutelwaarden