我寫存儲過程,應該尋找一些對過程參數記錄的基礎。 問題是,並非所有參數都必須傳遞,有時它們可能會設置爲NULL。MySQL存儲Pocedures跳過WHERE條件,如果參數爲null
是否有寫某事,將工作這樣的方式?
CREATE PROCEDURE testProc(IN p_idWorker INTEGER, IN p_idEffect INTEGER)
BEGIN
SELECT
*
FROM
CallHistory
WHERE
idWorker = IFNULL(p_idWorker, ANYTHING)
AND
idEffect = IFNULL(p_idEffect, ANYTHING);
END$$
它完全沒問題 –
不是真正的Sashi-在MySQL中沒有像'ANYTHING'這樣的關鍵字;) – Joe