我有一個表值函數,我需要在存儲過程中使用:T-SQL錯誤試圖加入表函數在存儲過程
LEFT OUTER JOIN [dbo].FT_GET_PRICES(getdate()) e (NOLOCK)
ON rm.rmap_no = e.rmap_no
AND s.zone_no = e.zone_no
然而,當我運行的SP我得到這個錯誤:
Msg 317, Level 16, State 1, Procedure SP_SALES, Line 119
Table-valued function 'FT_GET_PRICES' cannot have a column alias.
我想通SQL要我做這樣的事情:
LEFT OUTER JOIN [dbo].FT_GET_PRICES(getdate()) (NOLOCK)
ON rm.rmap_no = [dbo].FT_GET_PRICES.rmap_no
AND s.zone_no = [dbo].FT_GET_PRICES.zone_no
...但我仍然得到錯誤說我使用的是別名。我該如何解決這個問題,以及如何在沒有別名的情況下引用存儲過程中的函數?
你怎麼從'從FT_GET_PRICES選擇*(GETDATE())'得到什麼? –
爲什麼在處理價格時使用NOLOCK?你確定價格不準確嗎?我的猜測是你需要在這裏使用APPLY,但有這麼小的一部分,很難看到發生了什麼。如果你打算使用NOLOCK,你還需要使用WITH關鍵字。不包括該關鍵字在表格提示中已被棄用,並且將是必需的。這裏有一些關於NOLOCK的詳細信息。 http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –
+不知道你需要NOLOCK –