PROCEDURE
时间: 2024-02-22 21:00:21 浏览: 60
procedure
`PROCEDURE` 是 MySQL 中用于创建存储过程的关键字。存储过程是一组预先编写好的 SQL 语句集合,可以在需要的时候执行。使用存储过程可以将常用的 SQL 语句封装起来,方便重复使用,并且可以提高 SQL 执行效率。
创建存储过程的语法如下:
```
CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
[ IN | OUT | INOUT ] param_name param_type
characteristic:
COMMENT 'string'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
routine_body:
valid_sql_statement
```
其中,`sp_name` 是存储过程的名称,`proc_parameter` 是存储过程的参数列表,`characteristic` 是存储过程的特性,`routine_body` 是存储过程的主体部分,包括一系列有效的 SQL 语句。
例如,下面的示例代码创建一个名为 `get_customer` 的存储过程,它接受一个客户 ID 作为输入参数,然后从 `customers` 表中检索出该客户的信息:
```
CREATE PROCEDURE get_customer (IN customer_id INT)
BEGIN
SELECT * FROM customers WHERE id = customer_id;
END;
```
在这个例子中,`IN customer_id INT` 指定了一个输入参数 `customer_id`,它的类型为 `INT`。`SELECT` 语句用于检索出指定客户 ID 的信息。该存储过程可以在需要的时候调用,例如:
```
CALL get_customer(123);
```
这将检索出客户 ID 为 123 的客户信息。
阅读全文