mysql流程控制

一、条件语句

以下是一个示例的 SQL 条件语句,它使用了 IFELSEIFELSE 结构:

delimiter //
CREATE PROCEDURE proc_if ()
BEGIN
    DECLARE i INT DEFAULT 0;
    IF i = 1 THEN
        SELECT 1;
    ELSEIF i = 2 THEN
        SELECT 2;
    ELSE
        SELECT 7;
    END IF;
END //
delimiter ;

在这个过程中,根据变量 i 的值来选择不同的结果。如果 i 等于 1,则选择 1;如果 i 等于 2,则选择 2;否则,选择 7。

二、循环语句

1. WHILE 循环

以下是一个使用 WHILE 循环的示例:

delimiter //
CREATE PROCEDURE proc_while ()
BEGIN
    DECLARE num INT;
    SET num = 0;
    WHILE num < 10 DO
        SELECT num;
        SET num = num + 1;
    END WHILE;
END //
delimiter ;

在这个过程中,WHILE 循环用于重复执行一组 SQL 语句,直到 num 不小于 10 为止。

2. REPEAT 循环

以下是一个使用 REPEAT 循环的示例:

delimiter //
CREATE PROCEDURE proc_repeat ()
BEGIN
    DECLARE i INT;
    SET i = 0;
    REPEAT
        SELECT i;
        SET i = i + 1;
    UNTIL i >= 5
    END REPEAT;
END //
delimiter ;

在这个过程中,REPEAT 循环会重复执行 SQL 语句,直到 UNTIL 条件为真时停止循环。

3. LOOP 循环

以下是一个使用 LOOP 循环的示例:

delimiter //
CREATE PROCEDURE proc_loop ()
BEGIN
    DECLARE i INT DEFAULT 0;
    loop_label: LOOP
        SET i = i + 1;
        IF i < 8 THEN
            ITERATE loop_label;
        END IF;
        IF i >= 10 THEN
            LEAVE loop_label;
        END IF;
        SELECT i;
    END LOOP loop_label;
END //
delimiter ;

在这个过程中,LOOP 循环用于重复执行一组 SQL 语句。使用 ITERATE 语句可以跳过循环的当前迭代并继续下一个迭代,而使用 LEAVE 语句则可以终止循环。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇