mysql存储过程标准写法
时间: 2023-06-29 21:12:49 浏览: 201
MySQL 存储过程的标准写法如下:
```mysql
DELIMITER $$ -- 设置分隔符
CREATE PROCEDURE procedure_name (IN param1 datatype1, IN param2 datatype2, ..., OUT out_param datatype) -- 创建存储过程,可以带有输入和输出参数
BEGIN
-- 存储过程的主体逻辑
END$$ -- 结束存储过程
DELIMITER ; -- 恢复分隔符
```
其中,`DELIMITER` 用于设置存储过程的分隔符,因为存储过程中可能含有分号,为了避免分号与存储过程的结束符号冲突,需要设置分隔符。`CREATE PROCEDURE` 用于创建存储过程,可以带有输入和输出参数,参数的声明方式与函数类似。`BEGIN` 和 `END` 用于存储过程的主体逻辑,可以包含 SQL 语句、控制流语句等。最后,需要使用 `DELIMITER` 恢复分隔符的默认设置。
以下是一个示例存储过程:
```mysql
DELIMITER $$
CREATE PROCEDURE get_customer_by_id (IN customer_id INT, OUT customer_name VARCHAR(255))
BEGIN
SELECT name INTO customer_name FROM customers WHERE id = customer_id;
END$$
DELIMITER ;
```
该存储过程名为 `get_customer_by_id`,带有输入参数 `customer_id`,输出参数 `customer_name`。主体逻辑为从 `customers` 表中根据 `customer_id` 查询出对应的 `name`,并将其赋值给输出参数 `customer_name`。
阅读全文