当前位置:   article > 正文

mysql存储过程_10-18 查询图书表中售价介于50元到70元之间的图书的全部信息

10-18 查询图书表中售价介于50元到70元之间的图书的全部信息

一、存储过程概念
mysql5.0之后的版本支持存储过程,指的就是sql语句层面的代码封装与重用
存储过程就是一段具有名字的代码,用来完成特定的功能
创建的存储过程保存在数据的数据字典
二、语法
创建:

create procedure 存储过程名(参数列表)#in 给参数传入值,定义的参数就得到值,in 参数名+表中字段的类型
begin								#out 返回值 out 参数名+要返回的数据类型
存储操作的语句
end
  • 1
  • 2
  • 3
  • 4

调用:

call 存储过程名
  • 1

三、示例

1、创建一个无参无返回值的存储过程(查询所有的记录)
这里有一个问题,语句中分号的冲突,需要修改sql语句结束的标识符 用delimiter 
delimiter //
create procedure pro_info()
begin
select * from info;
end//  #这里本条存储过程的结束标识就是//了
调用
call pro_info;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
2、创建一个有参无返回值的存储过程(查找某个价格范围(20-200)内的图书信息)
sql语句:
select * from books where price between 20 and 200;
存储过程:
delimiter //
create procedure info_pfo1(in price1 float,in price2 float)
begin
select * from books where price between price1 and price2;
end//
调用:有参数时,调用要传入参数
call info_pro1(20,200);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
3、创建一个无参数有返回的存储过程(查询平均价格) 采用out 来返回值  out+参数名+参数类型
sql:
select avg(price) as 平均价格 from books;
存储过程:
delimiter //
create procedure pro_info2(out priceAvg float)
begin
select avg(price) into priceAvg FROM books; (into 变量名)
end//
调用:
call pro_info2(@priceAvg);  调用返回值
查看返回值:
select @priceAvg; 查看存储过程的返回值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
查看所有的存储过程:
show procedure status;
删除存储过程:
drop procedure pro_info;
or
drop procedure if exists pro_info;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/545989
推荐阅读
相关标签
  

闽ICP备14008679号