function的调用,一定才要冠以dbo.嘛?

自己写了个function(其实是前写日子"老纳"告诉我的),get_list

在调用是没有注意加上了dbo.get_list,结果有时会出问题.
本来以为把dbo.去掉就OK了,但是
'get_list' is not a recognized function name.
这是为何?使用表名是也没加dbo.呀?

也许我可以把此function的权限给public,调用是还加dbo.get_list

这种问题如何解决最好?有没有方法可以不加dbo.呢?
---------------------------------------------------------------

对于用户自建的标量函数在引用时一定要加上所有者.
---------------------------------------------------------------

不一定:你试试
在本数锯库中
select * from 函数名(参数)
---------------------------------------------------------------

联机丛书:

调用用户定义函数
当调用标量用户定义函数时,必须提供至少由两部分组成的名称:

SELECT *, MyUser.MyScalarFunction()
FROM MyTable

可以使用一个部分构成的名称调用表值函数:

SELECT *
FROM MyTableFunction()

然而,当调用返回表的 SQL Server 内置函数时,必须将前缀 :: 添加至函数名:

SELECT * FROM ::fn_helpcollations()

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus