MySQL存儲過程的查詢命令介紹
如下所示:
select name from mysql.proc where db='數(shù)據(jù)庫名';
或者
select routine_name from information_schema.routines where routine_schema='數(shù)據(jù)庫名';
或者
show procedure status where db='數(shù)據(jù)庫名'; SHOW CREATE PROCEDURE 數(shù)據(jù)庫.存儲過程名;
補(bǔ)充:MySQL存儲過程-循環(huán)遍歷查詢到的結(jié)果集
1、創(chuàng)建存儲過程
根據(jù)MySQL的語法創(chuàng)建存儲過程,要注意的是如果循環(huán)遍歷查詢到的結(jié)果集,取出結(jié)果集中的數(shù)據(jù)做操作。
CREATE DEFINER=`root`@`%` PROCEDURE `alter_view_counts`() BEGIN #聲明結(jié)束標(biāo)識 DECLARE end_flag int DEFAULT 0; DECLARE albumId bigint; #聲明游標(biāo) album_curosr DECLARE album_curosr CURSOR FOR SELECT album_id FROM album; #設(shè)置終止標(biāo)志 DECLARE CONTINUE HANDLER FOR NOT FOUND SET end_flag=1; #打開游標(biāo) OPEN album_curosr; #遍歷游標(biāo) REPEAT #獲取當(dāng)前游標(biāo)指針記錄,取出值賦給自定義的變量 FETCH album_curosr INTO albumId; #利用取到的值進(jìn)行數(shù)據(jù)庫的操作 UPDATE album SET album.views_count= (SELECT SUM(light_chat.views_count) FROM `light_chat` WHERE light_chat.album_id = albumId) WHERE album.album_id = albumId; # 根據(jù) end_flag 判斷是否結(jié)束 UNTIL end_flag END REPEAT; #關(guān)閉游標(biāo) close album_curosr; END
2,調(diào)用存儲過程
CALL alter_view_counts()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
當(dāng)面試官問mysql中char與varchar的區(qū)別
這篇文章主要以聊天形式圖片的添加,將面試官面試真實(shí)場景體現(xiàn)出來,好奇的朋友不要錯(cuò)過奧2021-08-08mysql count詳解及函數(shù)實(shí)例代碼
這篇文章主要介紹了mysql count詳解及函數(shù)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01解決MySQL錯(cuò)誤碼:1054 Unknown column ‘**‘ in&n
這篇文章主要介紹了解決MySQL錯(cuò)誤碼:1054 Unknown column ‘**‘ in ‘field list‘的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05mysql下普通用戶備份數(shù)據(jù)庫時(shí)無lock tables權(quán)限的解決方法
mysql使用普通用戶備份出現(xiàn)無lock tables權(quán)限的解決方法,需要的朋友可以參考下。2011-10-10mysql 如何動(dòng)態(tài)修改復(fù)制過濾器
這篇文章主要介紹了mysql 如何動(dòng)態(tài)修改復(fù)制過濾器,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下2020-11-11MySQL中利用索引對數(shù)據(jù)進(jìn)行排序的基礎(chǔ)教程
這篇文章主要介紹了MySQL中利用索引對數(shù)據(jù)進(jìn)行排序的基礎(chǔ)教程,需要的朋友可以參考下2015-11-11