gpt4 book ai didi

sql - <表值函数> 不是可识别的内置函数名称

转载 作者:行者123 更新时间:2023-12-04 12:41:47 26 4
gpt4 key购买 nike

我收到此错误:

Msg 195, Level 15, State 10, Line 1
'fnParseName' is not a recognized built-in function name.



在此查询中:
SELECT  fnParseName(DOCTORFIRSTNAME+' ' +DOCTORLASTNAME) 
FROM [PracticeandPhysician]

这是 fnParseName 的代码
create FUNCTION [dbo].[fnParseName]
(@FullName NVARCHAR(128))
RETURNS @FullNameParts TABLE (FirstName NVARCHAR(128),
Middle NVARCHAR(128),
LastName NVARCHAR(128))
AS
BEGIN
... function body that populates @FullNameParts ...
RETURN
END

为什么我收到这个错误?

最佳答案

这是一个表值函数。所以你可能的意思是:

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

请注意,您不能说:
SELECT dbo.TableValueFunction('foo');

比你能说的更多:
SELECT dbo.Table;
--or
SELECT dbo.View;

但是,您可以说:
SELECT * FROM dbo.fnParseName('foo bar');
--or
SELECT FirstName, Middle, LastName FROM dbo.fnParseName('foo bar');

(并不是说我已经验证了您的功能是否符合您的想法,或者效率很高。)

always use the dbo. prefix正如其他人所建议的那样。

关于sql - <表值函数> 不是可识别的内置函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9575622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com