1. 程式人生 > >創建MYSQL的儲存過程

創建MYSQL的儲存過程

創建mysql的儲存過程

創建不帶參數的儲存過程

CREATE PROCEDURE 過程名() 過程體 SELECT VERSION();

調用儲存過程

第一種CALL 過程名(); (帶有參數時使用)

第二種CALL 過程名; (不帶參數時使用)

創建帶有IN類型參數的存儲過程 (創建前要先修改MYSQL的默認定界符為//,創建好後要修改回;

第一步DELIMITER新的定界符如//

第二步CREATE PROCEDURE 過程名如removeUserByid(IN 參數名如id 數據類型如INT 字符類型如UNSIGNED)

第三步BEGIN

第四步DELETEFROM 表名

WHERE 數據表中的字段id=傳遞的參數id

第五步END

第六步//

第七步DELIMITER原來的定界符;

刪除程序

DELETE PROCEDURE 過程名;

刪除存儲過程

DROP PROCEDURE 過程名;

創建帶有INOUT類型參數的存儲過程 (創建前要先修改MYSQL的默認定界符為//,創建好後要修改回;

第一步DELIMITER新的定界符如//

第二步CREATE PROCEDURE 過程名如removeUserAndReturnUserNums(IN參數名如p_id 數據類型如INT 字符類型如UNSIGNED,OUT參數名如userNums數據類型如INT 字符類型如UNSIGNED)

第三步BEGIN

第四步DELETEFROM 表名 WHERE 數據表中的字段id=傳遞的參數p_id

第五步SLEECTcount(字段如id) FROM 表名 INTO 參數名userNums

第六步END

第七步//

第八步DELIMITER 原來的定界符;

調用存儲過程CALL 過程名如removeUserAndReturnUserNums(要刪除的如21,剩下的總量如@nums)

查詢剩下的總量SELECT @nums

ROW_COUNT(); 可以查詢到數據的插入.刪除和更新的記錄總數

創建帶有多個OUT類型參數的存儲過程 (創建前要先修改MYSQL的默認定界符為//,創建好後要修改回;

第一步DELIMITER新的定界符如// 通過年齡刪除用戶並且返回信息

第二步CREATE PROVEDURE 過程名如removeUserByAgeReturnInfosIN 參數名如p_age 數據類型如SMALLINT 字符類型如UNSIGNED,OUT 參數名如deleteUsers 數據類型如SMALLINT 字符類型如UNSIGNED,OUT參數名如userCounts 數據類型如SMALLINT字符類型如UNSIGNED)

第三步BEGIN

第四步DELETEFROM 表名 WHERE 數據表中的字段age=傳遞的參數p_age

第五步SLEECTROW_ COUNT() 表名 INTO 參數名deleteUsers

第六步SLEECTCOUNT(字段如id) FROM 表名 INTO 參數名userCounts

第七步END

第八步//

第九步DELIMITER原來的定界符;

調用存儲過程CALL 過程名如removeUserByAgeReturnInfos(要刪除的如21,你要刪除的數量如@nums,剩下的總量如@wang)

查詢你要刪除的數量和刪除後剩下的數量

SELECT @nums@wang

查詢剩下的總量SELECT @nums

查詢表中你要查詢的字段數據有幾條

SELECT COUNT(id) FROM 表名 WHERE 你要查詢的字段如age=你要查詢的數據如21








創建MYSQL的儲存過程