MySQL 存储过程

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.参数格式

  1. 过程参数类型  
    1. in : 向存储过程传递值,存储过程接可以收到外部的设定值,但是该值只可以在存储过程内部临时被改变。
    2. out : 存储过程向调用者传值,存储过程接收到的是null,但它在存储内部可以被永久改变。
    3. inout: 既可以传入也可以传出, 存储过程既可以接收到外部设定值,也可以在内部永久改变该值。
  2. 参数类型就是 数据库字段的类型。

5存储过程相关内容

  1. mysql存储过程详解实例
  2. MySQL存储过程
  3. mysql开发存储过程中,select结果集再动态的条件下select count(*)统计返回都为0问题解决
原文地址:https://www.cnblogs.com/mibloom/p/9141956.html