我正在编写应该基于几个过程参数搜索记录的存储过程。问题是并非总是必须传递所有参数,有时它们可能设置为 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$$