SQL Server自定义函数调用报错:sumAllSalaries未被识别为内置函数
报错原因及解决办法
未指定架构名称:SQL Server调用自定义标量函数时必须指定所属架构(默认是
dbo),直接写函数名会让数据库优先查找内置系统函数,找不到就触发该报错。正确调用语句应为:PRINT dbo.sumAllSalaries('Research')函数未成功创建:先确认函数是否真的创建成功。比如你代码里的表名是
Departament,如果实际表名是Department(拼写错误),函数创建时就会失败,调用自然找不到。可执行以下语句验证函数是否存在:SELECT * FROM sys.objects WHERE name = 'sumAllSalaries'调用环境不匹配:如果函数创建在特定数据库中,但你在其他数据库下执行调用语句,也会找不到该函数。需要先切换到对应数据库,或者调用时加上数据库名+架构名:
PRINT YourDatabaseName.dbo.sumAllSalaries('Research')
内容的提问来源于stack exchange,提问作者Luigi Erucci
相关产品推荐
相关产品推荐

