跳至主要內容

MySQL的存储过程

holic-x...大约 1 分钟碎片化碎片化

MySQL的存储过程

MySQL 5.0 版本开始支持存储过程

存储过程(过程化SQL语言):一组SQL操作集合,首次编译之后可被数据库或者通过Java代码进行调用(用于处理复杂程序+逻辑)

存储过程特点

  • 优点:速度快,降低应用服务器(Java程序)和数据库服务器之间网络通讯的开销
  • 缺点:依赖于数据库,可移植性差,编写难度大、维护性差(不同数据库有自己的存储过程语法规则)

存储过程定义

delimiter 自定义结束符号
create procedure 储存名([ in ,out ,inout ] 参数名 数据类形...)
begin
  sql语句
end 自定义的结束符合
delimiter ;

存储过程调用

call 存储过程名称();

参考案例

数据准备


存储过程:emp简单demo

# 1.查询所有员工的empno、ename

# 2.创建存储过程
create procedure myPro()
begin
	select empno,ename from emp;
end;

# 3.调用存储过程
call myPro();

# 4.查看创建存储过程的语句
show create procedure myPro;

image-20240402145215525

# 通过系统表information_schema查看存储过程的详细信息
select * from information_schema.routines where routine_name = 'myPro';

# information_schema存储了所有存储过程、函数、触发器的详细信息(名称、返回值类型、参数、创建时间、修改时间)
# 删除存储过程
drop procedure if exists myPro;

实际案例应用

todo 结合实际项目场景说明存储过程的应用

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3