您好,登錄后才能下訂單哦!
創建MYAQL的存儲過程
1 創建不帶參數的儲存過程
CREATE PROCEDURE 過程名() 過程體 SELECT VERSION();
2 調用儲存過程
第一種 CALL 過程名(); (帶有參數時使用)
第二種 CALL 過程名; (不帶參數時使用)
3 創建帶有IN類型參數的存儲過程 (創建前要先修改MYSQL的默認定界符為//,創建好后要修改回;)
第一步 DELIMITER新的定界符如//
第二步 CREATE PROCEDURE 過程名如removeUserByid(IN 參數名如id 數據類型如INT 字符類型如UNSIGNED)
第三步 BEGIN
第四步 DELETEFROM 表名 WHERE 數據表中的字段id=傳遞的參數id;
第五步 END
第六步 //
第七步 DELIMITER原來的定界符;
4 刪除程序
DELETE PROCEDURE 過程名;
刪除存儲過程
DROP PROCEDURE 過程名;
5 創建帶有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 原來的定界符;
6 調用存儲過程CALL 過程名
如removeUserAndReturnUserNums(要刪除的如21,剩下的總量如@nums); 查詢剩下的總量SELECT @nums;
ROW_COUNT(); 可以查詢到數據的插入.刪除和更新的記錄總數
7 創建帶有多個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原來的定界符;
8 調用存儲過程CALL 過程名如removeUserByAgeReturnInfos(要刪除的如21,你要刪除的數量如@nums,剩下的總量如@wang);
查詢你要刪除的數量和刪除后剩下的數量
SELECT 如@nums,@wang;
查詢剩下的總量SELECT @nums;
9 查詢表中你要查詢的字段數據有幾條
SELECT COUNT(id) FROM 表名 WHERE 你要查詢的字段如age=你要查詢的數據如21;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。