我正在使用MS SQL 2005,当我创建一个函数时,我需要设置模式名称来调用它:
select dbo.MyFunc
我的所有表都是“dbo”模式,我不需要模式名称来引用它,所以我想知道我是否缺少一些可以对函数执行相同操作的配置。
答案 0 :(得分:16)
简短回答,不,不是。
您应该考虑使用架构所有者前缀所有数据库对象,以避免让sql server“查找”。
它使您的陈述更具可读性并略微提高性能(尽管您可能不会注意到它)。
此致 利芬
答案 1 :(得分:8)
与所有其他数据库对象(表,视图和存储过程)不同,用户定义的函数在引用时始终需要模式名称。这是SQL Server的一个怪癖。
答案 2 :(得分:7)