是否可以在没有模式名称的情况下调用用户定义的函数?

Eri*_*sse 17 sql-server schema sql-server-2005

我正在使用MS SQL 2005,当我创建一个函数时,我需要设置模式名称来调用它:

select dbo.MyFunc
Run Code Online (Sandbox Code Playgroud)

我的所有表都是"dbo"模式,我不需要模式名称来引用它,所以我想知道我是否缺少一些可以对函数执行相同操作的配置.

Lie*_*ers 16

简短的回答,不,不是.

您应该考虑将所有数据库对象作为模式所有者的前缀,以避免让SQL服务器"查找".

它使您的语句更具可读性并略微提高性能(尽管您可能不会注意到它).

此致,列文


Ant*_*ull 8

与所有其他数据库对象(表,视图和存储过程)不同,用户定义的函数在引用时始终需要模式名称.这是SQL Server的一个怪癖.


小智 7

*必须至少使用函数的两部分名称来调用标量值函数

http://msdn.microsoft.com/en-us/library/ms186755.aspx

+1家长

Borik酒店