l--*_*''' 13 sql sql-server sql-server-2008
我收到此错误:
消息195,级别15,状态10,行
1'fnParseName'不是可识别的内置函数名称.
在这个查询:
SELECT fnParseName(DOCTORFIRSTNAME+' ' +DOCTORLASTNAME)
FROM [PracticeandPhysician]
Run Code Online (Sandbox Code Playgroud)
这是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
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?
Aar*_*and 19
这是一个表值函数.所以你可能意味着:
SELECT p.DOCTORFISTNAME, p.DOCTORLASTNAME, t.FirstName, t.Middle, t.LastName
FROM dbo.[PracticeandPhysician] AS p
CROSS APPLY dbo.fnParseName(p.DOCTORFIRSTNAME + ' ' + p.DOCTORLASTNAME);
Run Code Online (Sandbox Code Playgroud)
请注意,你不能说:
SELECT dbo.TableValueFunction('foo');
Run Code Online (Sandbox Code Playgroud)
比你说的更多:
SELECT dbo.Table;
--or
SELECT dbo.View;
Run Code Online (Sandbox Code Playgroud)
但是,您可以说:
SELECT * FROM dbo.fnParseName('foo bar');
--or
SELECT FirstName, Middle, LastName FROM dbo.fnParseName('foo bar');
Run Code Online (Sandbox Code Playgroud)
(并不是说我已经验证了你的功能是按照你的想法做到的,或者是有效的.)
Pet*_*art 12
您始终必须使用模式名称dbo.
或该函数的模式名称为SQL函数调用添加前缀(dbo是默认模式).
SELECT dbo.fnParseName(--etc
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28487 次 |
最近记录: |