mysql 游標指標迴圈

2021-10-19 12:48:38 字數 1188 閱讀 8106

儲存過程:

delimiter $$

use`lost_customer_repair`$$

drop

procedure

ifexists

`updateltrepairssuccesscount`$$

create

definer

=`root`

@`%`

procedure

`updateltrepairssuccesscount`()

begin

declare num int

;declare lt_repair_result_id int

;declare done int

default0;

-- 宣告游標

declare mc cursor

forselect

count

(id) num,m.

`lt_repair_result_id`

from

`lcr_lt_repair_result_match` m group

by m.

`lt_repair_result_id`

;# 游標沒有資料時,done 設定 1, 這樣在下面不再執行while迴圈

declare

continue

handler

fornot found set done =1;

-- 開啟游標

open mc;

-- while 迴圈

while done !=1do

# 每指向一行,將其變數儲存到 num ,lt_repair_result_id 中,以方便下面語句中使用

fetch mc into num ,lt_repair_result_id;

update

`lcr_lt_repair_result` r set r.succcess_count=num where r.id=lt_repair_result_id;

endwhile

;-- 關閉游標

close mc;

end$$

delimiter

;

呼叫:

call updateltrepairssuccesscount

Mysql游標和迴圈

繼續講述小菜鳥跟mysql的那些事 前幾天接到這樣乙個需求 將資料庫中每天符合條件的記錄進行固化,固化的同時需要對資料進行相應的修改和計算。恩,我開始的思路是這樣的 每天按照條件對資料庫中的資料進行搜尋,然後呢?建乙個table進行資料的固化,即將選出來的資料插進新建的table裡面。想法是簡單的,...

mysql游標巢狀迴圈例子

create procedure finance recivedetail customer id varchar 20 begin declare done int default 0 declare id a bigint declare pre recv remain a decimal 12...

利用mysql游標迴圈結果集

很多時候自己新增測試資料會用到mysql程式設計,其中儲存過程就非常的重要,所以在這裡寫乙個返回使用者id號用逗號拼接的例子 現在發現mysql完全可以程式設計,一門徹底的程式語言,資料型別還是強型別的,我喜歡 use test delimiter create procedure pro8 out...