1 存储过程
- 存储过程就是一组经过编译的SQL语句,它执行速度快,可以接收参数,可以做条件判断,可以有循环体,就和面向对象中的方法一样。
- 存储过程和OOP的方法一样,可以传入参数,内部执行SQL,也可以将存储过程中的某个值返回出来。
- MySQL在5.0以前并不支持存储过程,5.0终于开始已经支持存储过程。
2.创建
- 创建之前 修改结束符号为// 否则 在过程体中遇到;会认为SQL语句结束了 mysql> DELIMITER //
mysql> CREATE PROCEDURE p_name ( 过程参数类型 参数 参数类型)
-> begin
-> SQL 1 ;
-> SQL 2;
...
-> end //
恢复 结束符号 mysql> DELIMITER ;
3.使用
- call p_name(参数);
- 参数可以是字面量也可以是@变量。
4.参数格式
- 过程参数类型
- in : 向存储过程传递值,存储过程接可以收到外部的设定值,但是该值只可以在存储过程内部临时被改变。
- out : 存储过程向调用者传值,存储过程接收到的是null,但它在存储内部可以被永久改变。
- inout: 既可以传入也可以传出, 存储过程既可以接收到外部设定值,也可以在内部永久改变该值。
- 参数类型就是 数据库字段的类型。