教程 mariadb tutorial

控制结构(IF、LOOP)

1. IF 语句

用于根据条件执行不同的代码块,支持 IF…ELSEIF…ELSE 结构。

语法示例

sql
IF condition THEN
    -- 条件为真时执行
ELSEIF another_condition THEN
    -- 另一个条件为真时执行
ELSE
    -- 以上条件均不满足时执行
END IF;

`

示例

sql
DECLARE v_score INT DEFAULT 85;

IF v_score >= 90 THEN
    SET @grade = 'A';
ELSEIF v_score >= 75 THEN
    SET @grade = 'B';
ELSE
    SET @grade = 'C';
END IF;

2. LOOP 循环

用于重复执行代码块,需配合 LEAVE 语句跳出循环。

语法示例

sql
loop_label: LOOP
    -- 循环体
    IF exit_condition THEN
        LEAVE loop_label;
    END IF;
END LOOP loop_label;

示例

sql
DECLARE v_counter INT DEFAULT 0;

count_loop: LOOP
    SET v_counter = v_counter + 1;
    IF v_counter > 10 THEN
        LEAVE count_loop;
    END IF;
END LOOP count_loop;

3. WHILE 和 REPEAT

  • WHILE:先判断条件,再执行循环体。
sql
WHILE condition DO
    -- 循环体
END WHILE;
  • REPEAT:先执行循环体,再判断条件。
sql
REPEAT
    -- 循环体
UNTIL condition
END REPEAT;

掌握控制结构可以实现复杂的业务流程控制,提高存储过程的灵活性与功能性。