0
我正在使用sql server 2008 rc2和我有一個關於標量值函數命名約定的問題。具體有以下代碼工作正常選擇標量值udf sql服務器
select from database.dbo.MyUDF('arg')
但是當我擺脫了DBO和嘗試:
select from database..MyUDF('arg')
我得到一個語法錯誤,說這是不明確的。我從來沒有在表名,視圖,存儲過程或表值函數的名稱中使用dbo,我永遠不會遇到這個問題。
爲什麼我得到這個問題的標量udf?
因爲.....這就是團隊設計SQL Server的方式....抱歉,沒有明確的理由 - 就是這樣,而且一直是這樣,而不是 - 你不能改變它 - 只是習慣它並使用它......實際上,它被認爲是一個最好的做法**總是**使用'dbo.'符號 - 所以也許是時候你開始使用它,爲所有的對象。 – 2010-12-13 19:56:16
如果您不使用dbo符號,那麼這意味着您正在使用系統管理員權限。否則,你最終會與[域\用戶] .Mytable例如在CREATE。 **糟糕的做法**。在運行時,它會在查看dbo =較慢的性能之前嘗試解析用戶的模式。 – gbn 2010-12-13 20:08:25