存储过程体是由BEGIN和END包围的sql语句块,用于封装变量声明、流程控制、数据操作等逻辑。1. 以BEGIN开始,END结束,可包含DECLARE声明变量、SET赋值、SQL操作及if、while等控制语句;2. 示例中定义变量count_emp并统计employees表记录数;3. 需用DELIMITER修改结束符避免冲突,变量声明须位于其他语句前。

在 mysql 中,存储过程体是由 BEGIN 和 END 包围的一组 SQL 语句,用于定义存储过程的逻辑操作。存储过程体可以包含变量声明、流程控制(如条件判断、循环)、SQL 查询和数据操作等。
存储过程体的基本结构
存储过程体以 BEGIN 开始,以 END 结束。在这之间可以编写多条合法的 MySQL 语句。
– 使用 DECLARE 声明变量、游标或异常处理 – 使用 SET 赋值变量 – 执行 select、INSERT、UPDATE、delete 等 SQL 操作 – 使用 IF、CASE、WHILE、LOOP、REPEAT 等流程控制语句
简单示例
下面是一个简单的存储过程体示例:
DELIMITER // CREATE PROCEDURE GetEmployeeCount() BEGIN DECLARE count_emp INT DEFAULT 0; SELECT COUNT(*) INTO count_emp FROM employees; SELECT count_emp AS '员工总数'; END // DELIMITER ;
这个存储过程体中:
– 声明了一个整型变量 count_emp – 使用 SELECT … INTO 将查询结果赋值给变量 – 输出最终结果
注意事项
编写存储过程体时需要注意:
– 必须用 DELIMITER 更改语句结束符,避免内部的分号过早结束定义 – 变量必须在其他语句之前声明 – 支持异常处理和游标操作,但需按顺序定义
基本上就这些。存储过程体本质就是一组封装在 BEGIN…END 中的可执行语句块。