1
我有類似以下WHERE
條款東西在我的SQL語句的更好的辦法:寫這個SQL WHERE子句
AND (ipdp.UserID!=dbo.fn_userid(ipdp.ItemID) OR dbo.fn_userid(ipdp.ItemID) IS NULL)
不過,我不喜歡怎麼dbo.fn_userid
功能正在跑了兩次。我怎樣才能改進這一行代碼,以便它只需要運行一次?
ipdp.UserID
始終是一個非空的整數值
dbo.fn_userid
可以返回NULL或一個整數值
乾杯。
你確定它的運行兩次?函數是否有副作用,或者它是否可重複地映射一個值到另一個值? – Rup 2010-11-18 10:00:11
它在我的WHERE子句中有兩次,所以據我所知,它運行兩次?兩次傳遞相同的參數值,所以我想減少這種用法。 – Curt 2010-11-18 10:02:57
在上面的代碼中,只有當()內部的測試爲false時,函數纔會運行兩次。你能更多地展示一下where子句嗎? – 2010-11-18 20:38:08