MySQL的存储过程

创建存储过程

    作用:有点类似于Java中的函数,它是直接存储在MySQL数据库中,只编译一次,多次运行只需调用即可。
    它有名字,输入变量in,返回值out。
        而且返回值的数目多于一个,这是与自定义函数的最大区别。

创建
create [definer={user|current_user}]
procedure sp_name ([proc_parameter[,…]])
[characteristic..] routine_body

proc_parameter:
    [in|out|inout] prarm_name  type

调用
call sp_name([parameter[,…])

1、无参
create procedure sp2() select version();

2、in类型的有参函数
create procedure sp_3(in p_id int unsigned)
begin
delete from shi where id = p_id;
end;
$

3、in 和 out 类型的有参函数

create procedure sp3(in p_id int unsigned, out p_num int unsigned)
begin
    delete from shi where id = p_id;
    select count(id) from shi into p_num;
end;
$

调用:call sp3(1,@p_num);$ // @p_num 为当前用户变量,只存储在客户端

拿到值:select @p_num;

4、in 和多个 out类型的参数

    删除sexs,得到删除行数,和剩下的总数。
create procedure sp4(in p_sexs int unsigned, out p_name varchar(20),out p_id varchar(20) )
begin
    delete from shi where sexs = p_sexs;
    select row_count() into p_name;
    select count(id) from shi into p_id;
end;
$

调用: call sp4(5,@n1,@n2);
select @n1,@n2;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值