您好,登錄后才能下訂單哦!
本文主要給大家介紹Mysql 關閉訂單存儲過程應用,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。
關閉訂單存儲過程
begin
declare done int default 0;
declare orderid varchar(22);
#聲明查詢訂單的游標
declare cur cursor for select orders.order_id from orders where orders.order_state = 'wait_pay';
#異常處理
declare continue handler for sqlstate '02000' set done = 1;
#打開游標
open cur;
#遍歷數據
fetch next from cur into orderid;
repeat
if not done then
#根據訂單編號查詢訂單的下單時間
select orders.order_xiatime into @a from orders where order_id=orderid;
#根據訂單下單時間獲取1天后的時間(先用一天,存儲過程正常使用后改為12小時間)
SELECT ADDDATE(@a, INTERVAL 24 Hour) into @b;
#判斷會員在1天內是否未做任何處理
if @b<now() then
#自動更新訂單的狀態
update orders set order_state='trade_colsed',order_closetime = now() ,close_order_reason='訂單關閉時間到,定時任務正常關閉' where order_id=orderid;
#若有多個操作可以在這里接著些
#回收庫存(調用另一個存儲過程)
call recoveryOfInventory(orderid);
end if;
end if;
fetch next from cur into orderid;
until done end repeat;
close cur;
看了以上關于Mysql 關閉訂單存儲過程應用,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。