1. 程式人生 > >mysql存儲過程簡介

mysql存儲過程簡介

delete color fault 表達式 取數據 -a select eight while循環

一、存儲過程,可以理解為帶有邏輯的sql語句。

優點:是執行效率非常快,存儲過程是在數據庫的服務器端執行的。

缺點:移植性很差,不同數據庫的存儲過程是不能移植。

二、

1、基本語法

--創建存儲過程開始
--聲明存儲過程結束符為$
DELIMITER $
CREATE PROCEDURE 存儲名(IN i int ,out sname varchar(25)) --參數類型(in,out,inout)  參數名  數據庫類型
BEGIN
    -- 可以寫sql和邏輯體
    -- if語句寫法開始
    -- 列如:
    if 條件表達式 then 
        --
可以寫sql和邏輯體 elseif 條件表達式 then --可以寫sql和邏輯體 else --可以寫sql和邏輯體 end if --if語句寫法結束 --while循環語句開始 -- 列如: -- 聲明變量i,result DECLARE i INT DEFAULT 1; DECLARE result INT DEFAULT 0; WHILE i<=num DO --可以寫sql和邏輯體 SET result = result +
i; SET i = i+1; END WHILE; --while循環語句結束 --使用INTO獲取數據庫的數據給輸出參數開始 --列如: SELECT NAME INTO sname FROM 表名 WHERE id=i; -- i為輸入參數,sname為輸出參數 --使用INTO獲取數據庫的數據給輸出參數結束 END $
--創建存儲過程結束
--備註 
參數:
IN:   表示輸入參數,可以攜帶數據帶存儲過程中
OUT: 表示輸出參數,可以從存儲過程中返回結果
INOUT: 表示輸入輸出參數,既可以輸入功能,也可以輸出功能

2、調用存儲過程

CALL  存儲過程名(參數...);

3、刪除存儲過程

DROP PROCEDURE 存儲過程名;

三、觸發器

1、創建語法

CREATE  TRIGGER  觸發器名   
AFTER|BEFORE
INSERT|DELETE|UPDATE ON 表名
FOR EACH ROW
-- 語句sql
end

2、刪除

DROP  TRIGGER  觸發器名;

yexiangyang

[email protected]


mysql存儲過程簡介