在 SQL 中调用标量值函数
我已经从 Oracle 迁移了一个数据库,现在有一些标量值函数。
但是,当我打电话给他们时,我收到一条错误消息:
找不到列“dbo”或用户定义函数或聚合“dbo.chk_mgr”,或者名称不明确。
我这样称呼它:
SELECT dbo.chk_mgr('asdf')
我做错了什么?
I have migrated a database from oracle, and now have a few Scalar-valued Functions.
However, when I call them, I get an error saying:
Cannot find either column "dbo" or the user-defined function or aggregate "dbo.chk_mgr", or the name is ambiguous.
I'm calling it like this:
SELECT dbo.chk_mgr('asdf')
What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您确定它不是
表值函数
吗?我问的原因:
结果:
然而...
Are you sure it's not a
Table-Valued Function
?The reason I ask:
Result:
However...
可以执行以下
操作例如:
Can do the following
E.g.:
该语法对我来说效果很好:
您确定该函数作为函数存在并且位于 dbo 架构下吗?
That syntax works fine for me:
Are you sure that the function exists as a function and under the dbo schema?
您正在使用内联表值函数。因此您必须使用 Select * From 函数。
如果要使用 select function(),则必须使用标量函数。
https://msdn.microsoft.com/fr -fr/library/ms186755%28v=sql.120%29.aspx
You are using an inline table value function. Therefore you must use Select * From function.
If you want to use select function() you must use a scalar function.
https://msdn.microsoft.com/fr-fr/library/ms186755%28v=sql.120%29.aspx
确保您选择了正确的数据库。如果您尝试在新的查询窗口中运行主数据库,则可能会选择主数据库。
Make sure you have the correct database selected. You may have the master database selected if you are trying to run it in a new query window.