MySQL中提供了多種存儲(chǔ)過(guò)程的控制和執(zhí)行語(yǔ)句,其中一個(gè)非常有用的語(yǔ)句就是repeat。該語(yǔ)句可以使存儲(chǔ)過(guò)程中的某個(gè)指令重復(fù)執(zhí)行指定的次數(shù)。
--語(yǔ)法: repeat 存儲(chǔ)過(guò)程指令; 直到 循環(huán)控制條件; --示例: DELIMITER // CREATE PROCEDURE repeat10(IN number INT) BEGIN DECLARE i INT; SET i = 0; REPEAT SET i = i+1; SELECT CONCAT('第',i,'次執(zhí)行,參數(shù)值為',number); UNTIL i = 10 END REPEAT; END // DELIMITER ; --調(diào)用: CALL repeat10(20);
上述存儲(chǔ)過(guò)程將執(zhí)行10次SELECT語(yǔ)句,每次輸出當(dāng)前執(zhí)行的次數(shù)以及傳入的參數(shù)值。使用repeat語(yǔ)句,可以輕松地控制存儲(chǔ)過(guò)程中某個(gè)指令的執(zhí)行次數(shù),并且不需要使用循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn),大大簡(jiǎn)化了代碼。