久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

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

      實例詳解mysql存儲過程

      實例詳解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ù)荷,所以在使用時需要綜合業(yè)務(wù)考慮。

      基本語法格式

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

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

      實例一:計算消費折扣

      -- 創(chuàng)建存儲過程 DROP PROCEDURE IF EXISTS p01_discount ; CREATE PROCEDURE p01_discount(IN consume NUMERIC(5,2),OUT payfee NUMERIC(5,2))BEGIN     -- 判斷收費方式     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);

      實例二: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);

      注意事項

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

      存儲過程在實際開發(fā)中的應(yīng)用不是很廣泛,通常復(fù)雜的業(yè)務(wù)場景都在應(yīng)用層面開發(fā),可以更好的管理維護和優(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號