MySQL存儲(chǔ)過(guò)程的查詢(xún)命令介紹
select name from mysql.proc where db=’數(shù)據(jù)庫(kù)名’;
或者
select routine_name from information_schema.routines where routine_schema=’數(shù)據(jù)庫(kù)名’;
或者
show procedure status where db=’數(shù)據(jù)庫(kù)名’;SHOW CREATE PROCEDURE 數(shù)據(jù)庫(kù).存儲(chǔ)過(guò)程名;
補(bǔ)充:MySQL存儲(chǔ)過(guò)程-循環(huán)遍歷查詢(xún)到的結(jié)果集
1、創(chuàng)建存儲(chǔ)過(guò)程根據(jù)MySQL的語(yǔ)法創(chuàng)建存儲(chǔ)過(guò)程,要注意的是如果循環(huán)遍歷查詢(xún)到的結(jié)果集,取出結(jié)果集中的數(shù)據(jù)做操作。
CREATE DEFINER=`root`@`%` PROCEDURE `alter_view_counts`()BEGIN #聲明結(jié)束標(biāo)識(shí) 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; #打開(kāi)游標(biāo) OPEN album_curosr; #遍歷游標(biāo) REPEAT #獲取當(dāng)前游標(biāo)指針記錄,取出值賦給自定義的變量 FETCH album_curosr INTO albumId; #利用取到的值進(jìn)行數(shù)據(jù)庫(kù)的操作 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; END2,調(diào)用存儲(chǔ)過(guò)程
CALL alter_view_counts()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. 用腳本和查詢(xún)主動(dòng)監(jiān)視Oracle 9i性能2. 實(shí)例講解Oracle數(shù)據(jù)庫(kù)自動(dòng)增加ID的sql3. SQL SERVER 2005 同步復(fù)制技術(shù)4. SQL Server使用PIVOT與unPIVOT實(shí)現(xiàn)行列轉(zhuǎn)換5. 段云峰:DB2 9對(duì)企業(yè)有3點(diǎn)幫助6. sql server 2000關(guān)于日期的查詢(xún)7. 如何手動(dòng)刪除 SQL Server 2000 默認(rèn)實(shí)例、命名實(shí)例或虛擬實(shí)例8. 簡(jiǎn)述MySQL InnoDB存儲(chǔ)引擎9. mysql-joins具體用法說(shuō)明10. SQLMAP插件tamper模塊簡(jiǎn)介
