下面我设置了一个将使用参数循环的过程。但是,我正在测试它的一部分,但得到了不需要的输出。
当我选择 p_start 为空时,选择 v_start 输出将显示 v_start 为空。但我认为有一个 case 语句会将 v_start 重新定义为 1 ......
有什么建议么?谢谢。
Create procedure counter_loop( p_start int,
p_end int,
p_step int,
p_delim varchar(5))
begin
declare v_start int ;
declare v_end int ;
declare v_step int ;
declare v_sign int;
-- check p_start
case p_start
when null then
set v_start := 1;
else
set v_start := p_start;
end case;
select v_start;