3
我只是想知道是否有方法在MS SQL Server 2005中傳遞一個運算符作爲存儲過程參數。如果可能的話,我真的需要避免使用動態SQL。T-SQL存儲過程 - 動態和/或運算符
@AppOperator = "AND"
WHERE (1 = 1) @AppOperator (2 = 2)
我只是想知道是否有方法在MS SQL Server 2005中傳遞一個運算符作爲存儲過程參數。如果可能的話,我真的需要避免使用動態SQL。T-SQL存儲過程 - 動態和/或運算符
@AppOperator = "AND"
WHERE (1 = 1) @AppOperator (2 = 2)
不是真的你可能想什麼(因爲表達式必須重複),但這個工程:
如果@AppOperator = "AND"
...
WHERE (
@AppOperator = "AND" AND ((1 = 1) AND (2 = 2))
OR
@AppOperator = "OR" AND ((1 = 1) OR (2 = 2))
)
...
這將不得不起作用。感謝上帝,我只有一個表達要重複。謝謝您的幫助! – Jared 2011-12-16 21:27:25
不知道你就可以擁有一個具有動態分配的運算符的查詢沒有動態sql(很樂意找到其他方式)。如果動態SQL不可行,是否可以設置兩個幾乎相同的語句,一個與where或where以及where和if語句來確定要使用哪一個? – Twelfth 2011-12-16 21:14:07