MySQL中的存儲(chǔ)過程是一組預(yù)定義的SQL語句,可以在需要時(shí)調(diào)用。存儲(chǔ)過程類似于函數(shù),但存儲(chǔ)過程無法返回任何值。
MySQL存儲(chǔ)過程中循環(huán)語句常用的有for循環(huán)和while循環(huán)。
下面是一個(gè)使用for循環(huán)的MySQL存儲(chǔ)過程示例:
DELIMITER $$
CREATE PROCEDURE sp_test(IN n INT)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE sum INT DEFAULT 0;
FOR i IN 1..n DO
SET sum = sum + i;
END FOR;
SELECT sum;
END $$
DELIMITER;
該存儲(chǔ)過程接受一個(gè)整數(shù)參數(shù)n,然后使用for循環(huán)計(jì)算從1到n的所有整數(shù)的和,并返回結(jié)果。
在存儲(chǔ)過程中,首先需要使用DELIMITER命令將分隔符設(shè)置為$$,以免在存儲(chǔ)過程中使用分號(hào)時(shí)出現(xiàn)語法錯(cuò)誤。
存儲(chǔ)過程中使用了 DECLARE 命令定義了兩個(gè)局部變量 i 和 sum。
for循環(huán)語句使用 i 從 1 到 n 循環(huán),每次循環(huán)都將 i 的值加到 sum 中。
最后,使用 SELECT 命令返回求和結(jié)果。
通過這個(gè)例子,我們可以了解到MySQL存儲(chǔ)過程也支持基本的控制流語句,如for循環(huán)、while循環(huán)、if 語句等。