MySQL——LOOP循環(huán)
LOOP循環(huán)
[begin_label:] LOOP
statement_list
END LOOP [end_label]
說(shuō)明:LOOP允許某特定語(yǔ)句或語(yǔ)句群的重復(fù)執(zhí)行,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的循環(huán)構(gòu)造,statement_list是需要重復(fù)執(zhí)行的語(yǔ)句。在循環(huán)內(nèi)的語(yǔ)句一直重復(fù)至循環(huán)被退出,退出時(shí)通常伴隨著一個(gè)LEAVE 語(yǔ)句。
LEAVE語(yǔ)句經(jīng)常和BEGIN...END或循環(huán)一起使用。結(jié)構(gòu)如下:
LEAVE label
label是語(yǔ)句中標(biāo)注的名字,這個(gè)名字是自定義的。加上LEAVE關(guān)鍵字就可以用來(lái)退出被標(biāo)注的循環(huán)語(yǔ)句。
例子:
CREATE PROCEDURE doloop()
BEGIN
SET @a=10;
Label: LOOP
SET @a=@a-1;
IF @a<0 THEN
LEAVE Label;
END IF;
END LOOP Label;
END$$
說(shuō)明:語(yǔ)句中,首先定義了一個(gè)用戶(hù)變量并賦值為10,接著進(jìn)入LOOP循環(huán),標(biāo)注為L(zhǎng)abel,執(zhí)行減1語(yǔ)句,然后判斷用戶(hù)變量a是否小于零,是則使用LEAVE語(yǔ)句跳出循環(huán)。
調(diào)用存儲(chǔ)過(guò)程
USE XSCJ;
CREATE PROCEDURE DO_QUERY()
SELECT COUNT(*) FROM XS ORDER BY 學(xué)號(hào);
調(diào)用該存儲(chǔ)過(guò)程:
CALL DO_QUERY();
點(diǎn)擊加載更多評(píng)論>>