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; END2,調(diào)用存儲(chǔ)過(guò)程
CALL alter_view_counts()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. Mysql InnoDB的鎖定機(jī)制實(shí)例詳解2. 巧用SQL語(yǔ)言在ACCESS數(shù)據(jù)庫(kù)中批量替換內(nèi)容3. MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏的實(shí)現(xiàn)4. Windows下不能啟動(dòng)mysql服務(wù)--錯(cuò)誤總結(jié)5. SQLite3的綁定函數(shù)族使用與其注意事項(xiàng)詳解6. 如何快速修改MySQL用戶的host屬性7. 數(shù)據(jù)庫(kù)相關(guān)的幾個(gè)技能:ACCESS轉(zhuǎn)SQL8. 如何實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù)9. Delphi中的Access技巧集10. MYSQL數(shù)據(jù)庫(kù)存文本轉(zhuǎn)存數(shù)據(jù)庫(kù)問(wèn)題
