存儲過程是一組SQL語句的集合,它們被組合起來創建一個可重用的程序。MySQL創建存儲過程非常容易,下面我們就以一個簡單的例子來說明如何使用MySQL創建一個存儲過程。
DELIMITER // CREATE PROCEDURE `get_user`(IN `username` VARCHAR(255), OUT `user_id` INT) BEGIN SELECT `id` INTO `user_id` FROM `user` WHERE `name` = `username`; END // DELIMITER ;
上述代碼中:
DELIMITER //
:是使用DELIMITER
定義新的分隔符,以防在存儲過程中出現分號。CREATE PROCEDURE `get_user`
:用于創建一個名為get_user
的存儲過程。IN `username` VARCHAR(255), OUT `user_id` INT
:定義存儲過程的參數類型和變量名。BEGIN
:開始定義存儲過程體。SELECT `id` INTO `user_id` FROM `user` WHERE `name` = `username`;
:定義SQL查詢語句并將獲取的結果存儲到user_id
變量中。END //
:定義存儲過程體的結束標志。DELIMITER ;
:將分隔符設置為分號,恢復原來的分隔符。
創建存儲過程后,我們可以使用以下方式調用存儲過程:
SET @user_id = 0; CALL `get_user`('Tom', @user_id); SELECT @user_id;
上述代碼中:
SET @user_id = 0;
:定義一個變量user_id
。CALL `get_user`('Tom', @user_id);
:調用存儲過程get_user
并將user_id
變量作為輸出參數傳遞給存儲過程。SELECT @user_id;
:輸出user_id
變量的值。
通過以上步驟,我們就可以成功創建和調用一個存儲過程。
下一篇c json數據操作