創建MYSQL的儲存過程
創建不帶參數的儲存過程
CREATE PROCEDURE 過程名() 過程體 SELECT VERSION();
調用儲存過程
第一種CALL 過程名(); (帶有參數時使用)
第二種CALL 過程名; (不帶參數時使用)
創建帶有IN類型參數的存儲過程 (創建前要先修改MYSQL的默認定界符為//,創建好後要修改回;)
第一步DELIMITER新的定界符如//
第二步CREATE PROCEDURE 過程名如removeUserByid(IN 參數名如id 數據類型如INT 字符類型如UNSIGNED)
第三步BEGIN
第四步DELETEFROM 表名
第五步END
第六步//
第七步DELIMITER原來的定界符;
刪除程序
DELETE PROCEDURE 過程名;
刪除存儲過程
DROP PROCEDURE 過程名;
創建帶有IN和OUT類型參數的存儲過程 (創建前要先修改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 過程名如removeUserByAgeReturnInfos(IN 參數名如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的儲存過程