2009-08-13 44 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