SQL存储过程例子

SQL存储过程例子

https://www.jianshu.com/p/77c888044efd

 

1.概念
一组为完成特定功能的SQL语句集,存储在数据库中,经过第一次编辑后再次调用不许再次编辑,用户通过指定存储过程的名称并给出参数(如果有参数)来执行它,它可包括逻辑控制语句和数据操作语句,它可接受参数、输出参数、返回单个或多个结果集以及返回值。

--创建
create procedure GetUsers()
begin
  select * from users;
end;

--调用
call GetUsers();

--删除
drop procedure if exists GetUsers;

 

4.创建复杂示例

delimiter //
create  procedure  GetPriceByID(
    in prodID  int,
    in isDisc  boolean,
    out  prodPrice  decimal(8,2))
begin
    declare   tempPrice  decimal(8,2);#声明变量
    declare   prodDiscRate  decimal(8,2);
    set  prodDiscRate = 0.88;

    select  price  from  products
    where  id = prodID
    into  tempPrice;

    if  isDisc  then
        select  tempPrice * prodDiscRate  into  tmpPrice;
    end  if;

    select  tmpPrice  into  prodPrice;

end;
//


调用:

call  GetPriceByID(1,ture,@prodPrice);
select  @prodPrice;

 

技术细节:

MySQL 存储过程

https://www.runoob.com/w3cnote/mysql-stored-procedure.html

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值