存储过程就是在数据库中定义的一些sql语句的集合,可以直接调用存储过程执行已经定义好的sql语句,从而避免重复编写相同的sql语句的问题。
存储过程
存储过程是一组为了完成特定功能的sql语句的集合,使用存储过程的目的在于将常用的复杂工作预先使用sql语句定义好,并指定一个名称存储起来,数据库管理系统会将存储过程进行编译和优化后存储在数据库服务器中。以后需要使用对应功能时,只需要通过存储过程名称即可直接调用。
一个存储过程是一个可编程的函数,在数据库中创建并保存,可以SQL语句和一些特殊控制结构组成。
常见的sql语句在执行时需要先编译优化,然后执行。但是存储过程已经经过了编译和优化后存储在数据库中。
在存储过程中可以使用标准sql和数据库管理系统自身提供的控制结构语句。
存储过程可以用于转换数据、数据迁移、制作报表等功能,一次编译,可以随时调用,完成特定的功能。
使用存储过程不仅可以提高数据库的访问效率,同时还可以提供数据库使用的安全性。
存储过程的特点
封装性
减少网络数据传输
增强sql语句的功能和灵活性
提高数据库安全性和数据的完整性
存储过程
创建存储过程的基本语法
create procedure 存储过程名称(参数列表,...) 存储过程体
1、首先配置sql语句命令结束符号为其它符号,不是默认的分号
delimiter $$
2、创建一个简单的存储过程实现访问db_test中的所有数据
create procedure p1() begin
select * from tb_test;
end;
$$
3、存储过程提交后将命令结束符恢复为原来的分号
4、调用存储过程
call 存储过程名称();
查看存储过程
show procedure status like 'p1'\G
可以查看存储过程的状态信息,例如创建时间,修改时间,字符集等