mysql存储过程写法
时间: 2023-10-27 21:13:26 浏览: 76
MySQL存储过程是一些预定义的 SQL 语句集合,可以在需要时执行。以下是MySQL存储过程的基本语法:
```sql
CREATE PROCEDURE procedure_name()
BEGIN
-- SQL statements
END;
```
其中 `procedure_name` 是你要创建的存储过程的名称。`BEGIN` 和 `END` 之间是存储过程的主体,其中包含一系列 SQL 语句。
下面是一个简单的 MySQL 存储过程示例,它接受一个输入参数并返回一个输出参数:
```sql
CREATE PROCEDURE get_customer(IN customer_id INT, OUT customer_name VARCHAR(255))
BEGIN
SELECT name INTO customer_name FROM customers WHERE id = customer_id;
END;
```
在上面的示例中,我们创建了一个名为 `get_customer` 的存储过程,它接受一个整数类型的输入参数 `customer_id`,并声明一个变量 `customer_name` 作为输出参数。在存储过程的主体中,我们使用 `SELECT INTO` 语句从 `customers` 表中获取客户名,并将其赋值给 `customer_name` 变量。
要执行存储过程,你可以使用 `CALL` 语句:
```sql
CALL get_customer(1, @name);
SELECT @name;
```
在上面的示例中,我们使用 `CALL` 语句调用 `get_customer` 存储过程,并将 `1` 作为输入参数传递。我们使用 `@name` 变量来存储存储过程返回的客户名,并在后续的 `SELECT` 语句中使用该变量。
这只是一个简单的示例,MySQL 存储过程可以执行更复杂的任务,包括控制流语句(例如 `IF` 和 `WHILE`)、游标和异常处理。
阅读全文