どのようにMySQLカーソルを使用して結果セットを反復処理するか
MySQLカーソルを使用して結果セットを反復する手順を次に示します。
- カーソル変数を宣言し、クエリ結果を変数に格納する。
- 宣言
- ネイティブの日本語で言い換えると、
- 取りに行く
- かたわら
- ネイティブとして自然に日本語で言い換えます。1つのオプションのみ必要:LOOP
- 各行データは、繰り返し体内で処理されます。
- この文を日本語に自然に言い換えてください。ネイティブの表現のみを使用してください。一つだけが必要です:CLOSE
- メモリ解放
例を挙げると
DECLARE cursor_name CURSOR FOR SELECT column1, column2 FROM table_name;
DECLARE variable1 datatype;
DECLARE variable2 datatype;
OPEN cursor_name;
FETCH cursor_name INTO variable1, variable2;
WHILE (variable1 IS NOT NULL) DO
-- 处理数据
-- ...
FETCH cursor_name INTO variable1, variable2;
END WHILE;
CLOSE cursor_name;
DEALLOCATE cursor_name;
カーソルの使用にはパフォーマンス上の問題が生じることがあり、可能な場合は、JOIN やサブクエリなどの手法を使用して置き換えることをお勧めします。