如函數sql
CREATE DEFINER=`root`@`localhost` FUNCTION `aaaaa`( product_code_ varchar(20) ) RETURNS int(11) BEGIN DECLARE temp_ int; DECLARE get_attr CURSOR FOR SELECT freq_rate FROM aaaaa_tab AND product_code = product_code_; DECLARE CONTINUE HANDLER FOR NOT FOUND SET temp_ = NULL; OPEN get_attr; FETCH get_attr INTO temp_; CLOSE get_attr; RETURN temp_; END
若是 其餘存儲過程,或者函數調用該函數,返回了空值, 就容易出現不明緣由的報錯 , 或者數據比較計算錯誤函數
能夠設置一箇中間變量接收,而後判斷中間變量的值,再進行賦值處理code
如:blog
有時候 直接用 (freq_rate = null)or(freq_rate = '') 作判斷條件的時候, 莫名判斷失敗以下圖get