以下に、パラメーターを使用してループするプロシージャーのセットアップを示します。ただし、その一部をテストしていましたが、不要な出力が得られました。
p_start を null にすることを選択した場合、select v_start の出力には v_start is NULL と表示されます。しかし、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;