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ù)庫.存儲過程名;
補充: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; #利用取到的值進行數(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()
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
MySQL數(shù)據(jù)庫線上修改表結(jié)構(gòu)的方法
MySQL有一個把鎖,叫做MDL元數(shù)據(jù)鎖,當(dāng)對表修改的時候,會自動給表加上這把鎖,也就是不需要自己顯式使用,這篇文章主要介紹了MySQL數(shù)據(jù)庫線上修改表結(jié)構(gòu)的方法,需要的朋友可以參考下2022-09-09
Mysql 切換數(shù)據(jù)存儲目錄的實現(xiàn)方法
這篇文章主要介紹了Mysql 切換數(shù)據(jù)存儲目錄的實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-07-07
windows 10 下安裝mysql 5.7.17的簡單筆記
之前一直在Linux下用MySQL,安裝也很簡單,今天試一下windows下安裝,發(fā)現(xiàn)有很多坑,今天小編通過本教程給大家記錄下,一起看看吧2016-12-12
MySQL海量數(shù)據(jù)(2億級表字段)無損更新方案
在大型互聯(lián)網(wǎng)應(yīng)用中,數(shù)據(jù)表動輒達(dá)到億級規(guī)模,當(dāng)需要對生產(chǎn)環(huán)境中的海量表進行字段更新時,如何在不影響業(yè)務(wù)正常讀寫的情況下完成任務(wù),是每個DBA和開發(fā)者都會面臨的挑戰(zhàn),本文將以一個真實案例詳細(xì)講解四種漸進式更新方案及其實現(xiàn)原理,需要的朋友可以參考下2025-04-04
MySQL數(shù)據(jù)庫超時設(shè)置配置的方法實例
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫超時設(shè)置配置的相關(guān)資料,通過文中的設(shè)置方法可以很好的解決大家遇到的mysql數(shù)據(jù)庫超時問題,需要的朋友可以參考下2021-10-10
解決mysql 1040錯誤Too many connections的方法
因為你的mysql安裝目錄下的my.ini中設(shè)定的并發(fā)連接數(shù)太少或者系統(tǒng)繁忙導(dǎo)致連接數(shù)被占滿2012-09-09

