存储过程的优点是:
1、 存储过程在服务器端运行,执行速度快。
2、 存储过程执行一次后,他的执行规划就留在高速缓冲存储器,在以后的操作中,只要在高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。
存储过程的语法格式是:
Create procedure 存储过程名(参数)
begin
SQL语句体
end;
注意:
如果SQL语句体只有一句时,可以省略 begin 与 end。
名称不区分大小写,但尽量避免与内建函数同名。
名称长度限制64个字符。
()可以为空,但不能省略。
通常select 不会出现在存储过程体内。
调用存储过程
Call 存储过程名();
当存储过程中的语句体内容在两条以上的时候,如果我们这样写
Create procedure p1()
Begin
Select * from tb1;--会给出错误提示,直接结束存储过程的声明
Select * from tb2;
End;
所以,我们要在写存储过程之前先声明结束符,语句为:
Delimiter 用户定义结束符
存储过程中的参数有三种类型:输入参数(in)输出参数(out)输入/输出参数(inout)
输入参数可以传递给一个存储过程。输出参数可以返回一个结果或答案。输入/输出参数可以充当输入参数也可以充当输出参数。
声明存储过程的局部变量有两种方法
第一种就去:分两步实现
先声明
Declare 变量名 数据类型;
再赋值
Set 变量=值(也可以是表达式);
第二种方法:
用一条语句完成
Declare 变量名 数据类型 default 值;