有如图的一个存储过程, 在存储过程中单独调试,没有加IF...ELSE之类的判断逻辑,是可以正常调试和打印结果, 加上业务逻辑后,部分select就没有输出了,
通过执行动态sql语句,可以显示到如图描述的结果
但是往下一步,就无法打印出结果, 请各位大神指点!
相关段落代码:
SELECT a.des_ids into tmp_addrs FROM liquid_meter a WHERE a.src_id='0245';
-- 拼装结构化SQL语句
SET @str1 = 'SELECT max(a1),min(a1) into @a1_max,@a1_min FROM sensor_dev_msg t WHERE t.addr IN ( ';
SET @str2 = ') AND t.stime > DATE_FORMAT(DATE_SUB(CURTIME(),interval 1 HOUR),''%Y-%m-%d %H:%i'') ';
SET @str1 = CONCAT(@str1,tmp_addrs,@str2);
#SELECT @str1;
PREPARE stmt FROM @str1;
EXECUTE stmt ;
DEALLOCATE PREPARE stmt;
SELECT @a1_max,@a1_min into v_max,v_min;
SELECT v_max,v_min;
SELECT v_max+v_min into v_tmp_a1;
#select format(v_min + (RAND() * (v_max-v_min)),5) into v_tmp_a1;
SELECT v_tmp_a1;