主题
控制结构(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;
掌握控制结构可以实现复杂的业务流程控制,提高存储过程的灵活性与功能性。