mysql数据库之存储过程

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

存储过程大体语法结构:

delimiter //表示用//结束存储过程的声明,因为mysql默认是以分号;作为语句结束的

create procedure procedurename(in myname varchar(20),out myid int,inout sex char)存储过程包含三个参数,分别是in,out,inout分别对应输入,输出,输入输出参数

begin表示存储过程的开始

declare i.....表示声明变量,就像int i=0一样,不过存储过程是反过来的,例如声明一个默认值为0的int型变量   declare i int default 0;

set 赋值语句.....表示赋值语句,例如将i赋值为1  set i=1;

sql语句......这里就是编写你要操作的sql语句了,简单查询,多表,子查询,都是在这里写

if ...then .....[else if ..then... ] else ....end if;条件控制语句,if....else

while do..表示while条件循环,while  表达式  do  执行语句  end while;

loop....有点类似于continue,结束此次循环跳转到开头重新执行下一次,标签名称:loop   执行语句  end loop 标签名称; 

end

//

整个存储过程大体结构如上,这是最基本的,还有更复杂的....

调用存储过程:

set @myname='jason';表示的是设置这个变量,格式就是这样的。。。

set @myid=1;

set @sex='男';

call procedurename(@myname,@myid,@sex);

删除存储过程:

drop procedure procedurename;

整个存储过程从创建到删除,大体流程就是这样的

原文地址:https://www.cnblogs.com/jasonboren/p/10819331.html