亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql存儲過程是怎樣的

發布時間:2021-08-12 09:32:44 來源:億速云 閱讀:152 作者:chen 欄目:編程語言

這篇文章主要介紹“mysql存儲過程是怎樣的”,在日常操作中,相信很多人在mysql存儲過程是怎樣的問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql存儲過程是怎樣的”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

什么是mysql存儲過程?

存儲程序是被存儲在服務器中的組合SQL語句,經編譯創建并保存在數據庫中,用戶可通過存儲過程的名字調用執行。存儲過程核心思想就是數據庫SQL語言層面的封裝與重用性。使用存儲過程可以較少應用系統的業務復雜性,但是會增加數據庫服務器系統的負荷,所以在使用時需要綜合業務考慮。

基本語法格式

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

(免費學習視頻教程分享:mysql視頻教程)

實例一:計算消費折扣

-- 創建存儲過程
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 ;
        -- 調用存儲過程
        CALL p01_discount(100.0,@discount);

實例二:While..Do寫數據

提供一張數據表

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='觸發器寫數據';

存儲程序

根據傳入的參數,判斷寫入t03_proced表的數據條數。

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條數據call p02_batch_add(10);

注意事項

1、業務場景

存儲過程在實際開發中的應用不是很廣泛,通常復雜的業務場景都在應用層面開發,可以更好的管理維護和優化。

2、執行速度

假如在單表數據寫入的簡單場景下,基于應用程序寫入,或者數據庫連接的客戶端寫入,相比存儲過程寫入的速度就會慢很多,存儲過程在很大程度上沒有網絡通信開銷,解析開銷,優化器開銷等。

到此,關于“mysql存儲過程是怎樣的”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新乡市| 武陟县| 嘉鱼县| 凤翔县| 竹山县| 增城市| 太湖县| 乌鲁木齐县| 秦安县| 古丈县| 奉贤区| 乡城县| 天津市| 宿州市| 合山市| 温泉县| 馆陶县| 绍兴县| 金湖县| 遂川县| 宝应县| 云和县| 射阳县| 安平县| 宜兰县| 于田县| 孝昌县| 永定县| 黔南| 平南县| 河间市| 营口市| 兴义市| 湛江市| 阿瓦提县| 东方市| 神农架林区| 建湖县| 玛纳斯县| 舟山市| 成都市|