站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        實(shí)例詳解mysql存儲過程

        實(shí)例詳解mysql存儲過程

        什么是mysql存儲過程?

        存儲程序是被存儲在服務(wù)器中的組合SQL語句,經(jīng)編譯創(chuàng)建并保存在數(shù)據(jù)庫中,用戶可通過存儲過程的名字調(diào)用執(zhí)行。存儲過程核心思想就是數(shù)據(jù)庫SQL語言層面的封裝與重用性。使用存儲過程可以較少應(yīng)用系統(tǒng)的業(yè)務(wù)復(fù)雜性,但是會增加數(shù)據(jù)庫服務(wù)器系統(tǒng)的負(fù)荷,所以在使用時(shí)需要綜合業(yè)務(wù)考慮。

        基本語法格式

        CREATE PROCEDURE sp_name ([proc_parameter[,...]])     [characteristic ...] routine_body

        (免費(fèi)學(xué)習(xí)視頻教程分享:mysql視頻教程)

        實(shí)例一:計(jì)算消費(fèi)折扣

        -- 創(chuàng)建存儲過程 DROP PROCEDURE IF EXISTS p01_discount ; CREATE PROCEDURE p01_discount(IN consume NUMERIC(5,2),OUT payfee NUMERIC(5,2))BEGIN     -- 判斷收費(fèi)方式     IF(consume>100.00 AND consume<=300.00) THEN         SET payfee=consume*0.8;     ELSEIF (consume>300.00) THEN          SET payfee=consume*0.6;     ELSE          SET payfee = consume;    END IF;    SELECT payfee AS result;END ;         -- 調(diào)用存儲過程         CALL p01_discount(100.0,@discount);

        實(shí)例二:While..Do寫數(shù)據(jù)

        提供一張數(shù)據(jù)表

        CREATE TABLE `t03_proced` (   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',   `temp_name` varchar(20) DEFAULT NULL COMMENT '名稱',   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='觸發(fā)器寫數(shù)據(jù)';

        存儲程序

        根據(jù)傳入的參數(shù),判斷寫入t03_proced表的數(shù)據(jù)條數(shù)。

        DROP PROCEDURE IF EXISTS p02_batch_add ; CREATE PROCEDURE p02_batch_add(IN count INT(11))BEGIN     DECLARE temp int default 0;     WHILE temp < count DO         INSERT INTO t03_proced(temp_name) VALUES ('pro_name');                 SET temp = temp+1 ;             END WHILE;          END ;          -- 測試:寫入10條數(shù)據(jù)call p02_batch_add(10);

        注意事項(xiàng)

        1、業(yè)務(wù)場景

        存儲過程在實(shí)際開發(fā)中的應(yīng)用不是很廣泛,通常復(fù)雜的業(yè)務(wù)場景都在應(yīng)用層面開發(fā),可以更好的管理維護(hù)和優(yōu)化。

        2、執(zhí)行速度

        假如在單表數(shù)據(jù)寫入的簡單場景下,基于應(yīng)用程序?qū)懭耄蛘邤?shù)據(jù)庫連接的客戶端寫入,相比存儲過程寫入的速度就會慢很多,存儲過程在很大程度上沒有網(wǎng)絡(luò)通信開銷,解析開銷,優(yōu)化器開銷等。

        相關(guān)文章教程推薦:mysql教程

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 亚洲国产综合91精品麻豆| 国产亚洲精品拍拍拍拍拍| 国产成人毛片亚洲精品| 亚洲国产精品18久久久久久| 91无码人妻精品一区二区三区L| 亚洲国产精品无码专区影院| 国产麻豆精品入口在线观看| 99re6在线视频精品免费| 中文字幕精品亚洲无线码一区| 91精品国产综合久久香蕉| 国产乱人伦偷精品视频免下载| 青春草无码精品视频在线观 | 欧美日韩精品一区二区三区不卡 | 亚洲国产另类久久久精品小说| 国产精品欧美日韩| 亚洲国产精品一区二区九九| 国产精品麻豆入口| 2020最新久久久视精品爱| 国产精品91在线| 精品人妻va出轨中文字幕| 亚洲精品偷拍视频免费观看 | 精品国产精品国产偷麻豆| 亚洲精品一级无码鲁丝片| 黑人巨茎精品欧美一区二区 | 亚洲精品狼友在线播放| 欧美日韩成人精品久久久免费看 | 久热精品人妻视频| 国产人成精品综合欧美成人| 91探花国产综合在线精品| 亚洲综合精品一二三区在线| 777被窝午夜精品影院| 日韩精品在线视频| 99久久夜色精品国产网站| 亚洲永久永久永久永久永久精品| 日本精品久久久久中文字幕| 久久99精品国产麻豆宅宅| 久久久91精品国产一区二区三区 | 久久久精品午夜免费不卡| 精品福利一区二区三| 久久九九亚洲精品| 国产精品高清在线观看|