MySQL存儲(chǔ)過(guò)程的查詢命令介紹
如下所示:
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)遍歷查詢到的結(jié)果集
1、創(chuàng)建存儲(chǔ)過(guò)程
根據(jù)MySQL的語(yǔ)法創(chuàng)建存儲(chǔ)過(guò)程,要注意的是如果循環(huá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; END
2,調(diào)用存儲(chǔ)過(guò)程
CALL alter_view_counts()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持本站。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。