儲存過程:
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...