我們有一個基於傳入的參數更新某些表的過程,特別是某個狀態。我在組織上知道這個問題可以通過對這些數據使用單個表來消除,但這不是一個選項 - 這不是我的數據庫。基於存儲過程參數設置表
要更新這些表,我們運行一個存儲過程。唯一的問題是每個狀態都有一個存儲過程,這使得代碼更新變得很糟糕。爲了儘量減少需要維護的代碼量,我們希望轉向一個存儲過程,該過程需要一個狀態參數,並更新正確的表。我們希望沒有50條If語句,所以我認爲這樣做的唯一方法是將SQL代碼保存爲文本,然後執行該字符串。 IE:
SET @SSQL = 'UPDATE TBL_' + @STATE +' SET BLAH = FOO'
EXEC @SSQL;
我想知道是否有辦法做到這一點,而不使用字符串來更新基於該參數的正確表。這些存儲過程長達數千行。
謝謝大家!