mysql存储过程写法
时间: 2023-10-27 22:03:28 浏览: 40
MySQL 存储过程是一组预编译 SQL 语句集合,它们组成了一个可重用的、可维护的程序。以下是 MySQL 存储过程的基本语法:
```mysql
CREATE PROCEDURE procedure_name (IN parameter1 datatype1, IN parameter2 datatype2, ..., OUT output_parameter datatype)
BEGIN
-- 存储过程体,包含多个 SQL 语句
END;
```
其中,`procedure_name` 是存储过程的名称,`parameter` 是存储过程的输入参数和输出参数,`datatype` 是参数的数据类型。存储过程体包含多个 SQL 语句,可以使用条件语句、循环语句、异常处理语句等。
以下是一个简单的 MySQL 存储过程示例:
```mysql
CREATE PROCEDURE get_user(IN user_id INT, OUT username VARCHAR(50))
BEGIN
SELECT name INTO username FROM users WHERE id = user_id;
END;
```
该存储过程名为 `get_user`,接收一个输入参数 `user_id` 和一个输出参数 `username`,并从 `users` 表中查询 `name` 字段,并将其赋值给 `username` 参数。
调用存储过程的语法如下:
```mysql
CALL procedure_name(parameter1, parameter2, ...);
```
例如,调用上述示例中的存储过程:
```mysql
CALL get_user(1, @username);
SELECT @username;
```
其中,`@username` 是一个用户变量,用于存储输出参数 `username` 的值。