MySQL存储过程--(1)

 

/*
参数模式:
IN:该参数作为输入,该参数调用传入值
out:该参数作为输出,该参数作为返回值
INOUT:该参数即可作为输入,也可作为输出,该参数即可调用传入值,也可作为返回值
delimiter:设置结束标记,比如 //、$、#
delimiter #
*/

1、不带参数存储过程

delimiter //
create procedure mies()
BEGIN
select * from student ;
END
//

drop PROCEDURE mies();

call mies();

 

2、带参数 in 存储过程

delimiter //
/*传入参数,设置参数类型*/
create procedure mies(in sid int)
BEGIN
select * from student where sid=sno;
END
//

drop PROCEDURE mies();
/*设置参数值*/
set @sid=20162010;
call mies(@sid);

 

 

/*登录用户名*/

delimiter //
create procedure login(in sno int,in sname VARCHAR(16))
BEGIN
declare result int DEFAULT 0;#声明并初始化

select COUNT(*) into result from student #赋值
where student.sno=sno and student.sname=sname;

select IF(result>0,'成功','失败');
END
//

call login(20162002,'晨晨')

 

/*使用inout函数*/
delimiter //
create procedure inouta(inout a int,inout b int)
BEGIN
set a=a*2;
set b=b*6;
END
//
/*
首先定义两个变量
其次给变量赋值
最后选择要打印的结果
*/
set @m=6;
set @n=8;
call inouta(@m,@n)
select @m,@n

 

 

/*使用in,out函数*/
delimiter //
create procedure info(in sno int,out sname VARCHAR(16),out sage int)
BEGIN
select student.sname,student.sage into sname,sage
from student
where student.sno=sno;
END
//

call info(20162002,@m,@n)
select @m,@n

转载于:https://www.cnblogs.com/serendipme/p/10763609.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值