SQL

MySQL在5.0之后支持存储过程。

为了保证数据的完整性、一致性,提高应用性能,常采用存储过程技术。
一个存储过程包括名字、参数列表、及许多SQL语句的语句集。

1. 存储过程的建立规则

以create procedure开始,后面紧跟存储过程的名称和参数。存储过程名称不区分大小写,不能与MySQL数据库中的内建函数重名。

2. 存储过程的参数组成

第一部分:

  • in 表示向存储过程中传入参数。
  • out 表示向外传出参数。
  • inout 表示定义的参数可传入存储过程中并可以被存储过程修改后传出存储过程 存储过程默认为传入参数,所以参数in可以省略。
    第二部分:
  • 参数名
    第三部分:
  • 参数的类型 该类型为MySQL中所有可用的字段类型,如有多个参数,用逗号分割。

3. 存储过程的语句快

以begin开始,以end结束。
语句体中可包含变量的声明、控制语句、SQL查询语句等。
由于存储过程内部语句要以分号结束,所以在定义存储过程前应将语句结束标志";"更改为其他字符。可用关键字delimiter更改。如:

MySQL>delimiter //


存储过程创建后,可用如下语句删除:

drop procedure proc_name

4. 存储过程的调用

call proc_name(参数1,参数2,...)