MySql创建存储过程

mysql 创建存储过程
一、存储过程的创建和调用

存储过程就是具有名字的一段代码,用来完成一个特定的功能。
创建的存储过程保存在数据库的数据字典中。
1.创建

– create procedure 存储过程名(参数1,参数2,·····)
–存储过程开始和结束符号:BEGIN … END
CREATE PROCEDURE add_matches(IN matcheNo INTEGER,IN teamNo INTEGER,IN playerNo INTEGER,IN won INTEGER,IN lost INTEGER)
BEGIN
insert into matches values(matcheNo,teamNo,playerNo,won,lost);
END
2.调用存储过程
–变量赋值:SET @matcheNo =1 ;用@符声明变量
SET @matcheNo=4;
SET @teamNo=4;
SET @playerNo=4;
SET @won=4;
SET @lost=4;
call add_matches(@matcheNo,@teamNo,@playerNo,@won,@lost);

3.查询存储过程
1)查询全部存储过程:SHOW PROCEDURE STATUS;
2)查询单个存储过程:SHOW PROCEDURE STATUS LIKE ‘add_matches’;

4.删除存储过程
DROP PROCEDURE add_matches;

二.存储过程的参数
MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:

CREATE PROCEDURE 存储过程名([[IN |OUT |INOUT ] 参数名 数据类形…])

IN 输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)
OUT 输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)
INOUT 输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)

三、MySQL存储过程的控制语句
1) if-then-else 语句:
CREATE PROCEDURE add_matches(IN type INTEGER,IN matcheNo INTEGER)
BEGIN
if type =0 then
delete from matches where matcheno=matcheNo ;
else
select * from matches where matcheno=matcheNo;
END
2)case语句:
CREATE PROCEDURE add_matches(IN type INTEGER,IN matcheNo INTEGER)
BEGIN
set var=type;
case var
when 0 then
delete from matches where matcheno=matcheNo ;
when 1 then
select * from matches where matcheno=matcheNo;
else
select * from matches where matcheno=matcheNo;
end case;
END

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值