MySQL存儲(chǔ)過程的查詢命令介紹
如下所示:
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ù)庫.存儲(chǔ)過程名;
補(bǔ)充:MySQL存儲(chǔ)過程-循環(huán)遍歷查詢到的結(jié)果集
1、創(chuàng)建存儲(chǔ)過程
根據(jù)MySQL的語法創(chuàng)建存儲(chǔ)過程,要注意的是如果循環(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)用存儲(chǔ)過程
CALL alter_view_counts()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
MySQL數(shù)據(jù)庫線上修改表結(jié)構(gòu)的方法
MySQL有一個(gè)把鎖,叫做MDL元數(shù)據(jù)鎖,當(dāng)對表修改的時(shí)候,會(huì)自動(dòng)給表加上這把鎖,也就是不需要自己顯式使用,這篇文章主要介紹了MySQL數(shù)據(jù)庫線上修改表結(jié)構(gòu)的方法,需要的朋友可以參考下2022-09-09
Mysql 切換數(shù)據(jù)存儲(chǔ)目錄的實(shí)現(xiàn)方法
這篇文章主要介紹了Mysql 切換數(shù)據(jù)存儲(chǔ)目錄的實(shí)現(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òng)輒達(dá)到億級規(guī)模,當(dāng)需要對生產(chǎn)環(huán)境中的海量表進(jìn)行字段更新時(shí),如何在不影響業(yè)務(wù)正常讀寫的情況下完成任務(wù),是每個(gè)DBA和開發(fā)者都會(huì)面臨的挑戰(zhàn),本文將以一個(gè)真實(shí)案例詳細(xì)講解四種漸進(jìn)式更新方案及其實(shí)現(xiàn)原理,需要的朋友可以參考下2025-04-04
MySQL數(shù)據(jù)庫超時(shí)設(shè)置配置的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫超時(shí)設(shè)置配置的相關(guān)資料,通過文中的設(shè)置方法可以很好的解決大家遇到的mysql數(shù)據(jù)庫超時(shí)問題,需要的朋友可以參考下2021-10-10
解決mysql 1040錯(cuò)誤Too many connections的方法
因?yàn)槟愕膍ysql安裝目錄下的my.ini中設(shè)定的并發(fā)連接數(shù)太少或者系統(tǒng)繁忙導(dǎo)致連接數(shù)被占滿2012-09-09
mysql5.7單實(shí)例自啟動(dòng)服務(wù)配置過程
這篇文章主要介紹了mysql5.7單實(shí)例自啟動(dòng)服務(wù)配置的過程,附含配置源碼,有需要的朋友可以借鑒參考下,希望可以有所幫助,感謝閱讀2021-09-09

