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)識(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; #打開游標(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; END2,調(diào)用存儲(chǔ)過程
CALL alter_view_counts()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. 提綱挈領(lǐng)Oracle數(shù)據(jù)庫災(zāi)難防護(hù)技術(shù)2. navicat for mysql導(dǎo)出數(shù)據(jù)庫的方法3. MySQL的InnoDB索引原理詳解4. 提高數(shù)據(jù)庫處理速度的利器——MySQL存儲(chǔ)過程詳解5. DB2 Version 9.5 pureXML的增強(qiáng)和新特性6. 國(guó)內(nèi)學(xué)院派專家對(duì)DB2 9新產(chǎn)品贊不絕口7. oracle復(fù)制應(yīng)用實(shí)例之一8. 有關(guān)ORACLE財(cái)務(wù)系統(tǒng)9. 使用SQL Server 將現(xiàn)有代碼作為Web 服務(wù)提供10. 了解用戶和組賬戶與DB2 UDB的交互(1)
