2009-08-13 84 views
2

是否可以在没有范围限定符的情况下调用TSQL中的用户定义函数?我想打电话给tsql用户定义的函数

select myfunc(var) 

,而不是

select dbo.myfunc(var) 
select myschema.myfunc(var) 

这是可能的,我曾经使用过(7人)工作每隔DB它必须是在TSQL可能的。

如果我登录到我的数据库/模式,我没有资格表引用......我可以做

select * from mytable 

没有资格......为什么没有函数调用正交对此?

回答

3

Executing User-Defined Functions (Database Engine)MSDN

...标量值函数必须 通过使用至少两部分 函数的名称调用...

写作这里的行之间是表值UDF s不需要模式名称,但我没有亲自测试过这个。

+0

良好的RTFM谢谢。虽然这个答案会导致将旧版软件移植到MSSQL 2008时出现大量问题......我不留下深刻的印象 – telesphore4 2009-08-13 15:33:41

+0

“为什么”部分没有太多的文档。对不起,这不是一个满意的答复。 – 2009-08-13 15:59:59