1
我在mysql中創建了一個SP,其中我將傳入一個IN參數'val'。在我正在使用的過程的主體部分中,如果else條件與在查詢的where條件中具有'val'的select語句相關。在其中一個選擇查詢中,我不想使用'val'。那麼如何調用不使用'val'參數的條件的過程。在此先感謝,克里希納如何在不傳遞參數的情況下調用存儲過程?
我在mysql中創建了一個SP,其中我將傳入一個IN參數'val'。在我正在使用的過程的主體部分中,如果else條件與在查詢的where條件中具有'val'的select語句相關。在其中一個選擇查詢中,我不想使用'val'。那麼如何調用不使用'val'參數的條件的過程。在此先感謝,克里希納如何在不傳遞參數的情況下調用存儲過程?
將空值傳遞到您的存儲過程,並讓您的存儲過程檢測到null並相應地運行。
要調用一個空的存儲過程:
call my_proc(null);
那麼proc中,這裏是你如何「忽略」的參數,如果它是空:
select ...
from ...
where ...
and (val is null or some_column = val)
嗨波西米亞,感謝您的答覆你可以請。用一個簡單的例子來展示它,那將是非常有用的..再次感謝! – 2013-03-26 06:19:53
請參閱編輯我的答案。希望能幫助到你。讓我知道你是否需要更多。 – Bohemian 2013-03-26 10:30:37