mysql 建立存储过程

本文介绍了MySQL中创建存储过程的原因,如简化操作、批量处理和保证数据安全。详细讲解了如何创建一个名为`delete_matches`的存储过程,包括参数类型如IN、OUT、INOUT,并给出了调用示例。同时,提到了在Navicat可视化工具中创建存储过程的步骤,以及遇到的参数长度设置问题和解决办法。还包含了查看和删除存储过程的方法。
摘要由CSDN通过智能技术生成

为什么要使用存储过程

       将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调用

  批量处理:SQL+循环,减少流量,也就是“跑批”

  统一接口,确保数据的安全

存储过程的建立实例

mysql> delimiter $$  #将语句的结束符号从分号;临时改为两个$$(可以是自定义)

mysql> CREATE PROCEDURE delete_matches(IN p_playerno INTEGER)

-> BEGIN

->   DELETE FROM MATCHES -

> WHERE playerno = p_playerno;

-> END$$

mysql> delimiter;  #将语句的结束符号恢复为分号

存储过程参数详解

delete_mathches 要调用的存储过程的名称

in 参数类型

IN输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)

  OUT输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)

  INOUT输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)

p_playerno :要传入的参数值

INTEGER :要传入参数值的类型

begin 存储过程语言 end 一个完整的存储过程建立

斯 存储过程的调用

call delete_matches(57);

navicat 可视化数据库软件中建立存储过程

打开数据库-》函数-》过程-》根据向导创建一个函数-》输入函数名称

出现的问题:当我调用存储过程时会报错

修改.切记存储过程的参数一定要设定长度。通过向导添加参数的时候是没有设定长度的,所以会报错。一定要手动添加长度

五:查询数据库下的存储过程

selectname from mysql.proc where db='数据库名';

或者

selectroutine_name from information_schema.routines where routine_schema='数据库名';

或者

showprocedure status where db='数据库名';

查看存储过程的详情

SHOWCREATE PROCEDURE 数据库.存储过程名;

存储过程的删除

drop procedure delete_name(存储过程)

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值