mysqlで繰り返し処理を行う場合のサンプル

スポンサーリンク

プロシージャが存在したら削除する

DROP PROCEDURE IF EXISTS loop_test
; 

プロシージャ―の作成

CREATE PROCEDURE loop_test( in x int , in y int )
BEGIN

# 項目定義
declare ymd date;

# 繰り返し処理 x が y より小さい間繰り返しを行う
while x < y do

set ymd = date_add(date(now()), interval -x day); 
select x , y , ymd;
set x = x + 1;

end while;

END;
スポンサーリンク

プロシージャ―の呼び出し(xに1を設定、yに3を設定する)

CALL loop_test(1,3);

↓↓↓

プロシージャ実行結果

※whileでのループ処理は、 x が3になった時点で xがyより大きくない=繰り返し処理を抜ける

おすすめの記事