begin
// 定義 ids 變數
declare ids int default 0;
declare summoney decimal default 0;
declare num int default 0;
// 查詢集合作為游標(用來迴圈操作的集合)
declare company_list cursor for
select
u.id,
sum(o.money) money
from
api_user u
left join api_material m on u.mid = m.id
left join api_order o on u.openid = o.openid
where
u.god_level > 15
and o.`status` = 1
group by
u.id
order by
u.god_level desc;
// 設定集合退出條件
declare continue handler for sqlstate '02000' set num = 1;
// 開啟游標
open company_list;
// 將游標裡的值複製給變數
fetch company_list into ids,summoney;
// 迴圈條件 不等於 1 時執行
while num <> 1 do
update api_user set power= power +summoney where api_user.id=ids;
// 將變數值返回給游標
fetch company_list into ids,summoney;
// 結束迴圈
end while;
// 結束游標
close company_list;
end
mysql 儲存過程學習 mysql儲存過程學習
一 mysql建立乙個修改表字段的儲存過程 drop procedure if exists pr test create procedure pr test begin declare var int declare var1 int set var 416 set var1 420 while ...
mysql 儲存過程學習
簡單記錄一下自己學習儲存過程用於以後複習 建立儲存過程.create procedure querybyid in p id integer 建立簡稱名稱是querybyid,引數名是p id begin 開始 declare s int default 0 select s 顯示s 的值 set ...
mysql儲存過程 MySQL儲存過程
在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您介紹儲存過程的概念,並討論何時使用它。然後,展示如何使用過程 的基本元素,如建立儲存過程的語句,if else,case,loop,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...