zoukankan      html  css  js  c++  java
  • mysql 存储过程知识点

    一.创建存储过程
    create procedure sp_name()
    begin
    .........
    end

    二.调用存储过程
    1.基本语法:call sp_name();
    注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递

    三.删除存储过程
    1.基本语法:
    drop procedure sp_name;
    2.注意事项
    (1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程

    四.其他常用命令
    1.show procedure status;
    显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
    2.show create procedure [sp_name];
    显示某一个MySQL存储过程的详细信息

    • 格式
      MySQL存储过程创建的格式:CREATE PROCEDURE 过程名 ([过程参数[,...]])
      [特性 ...] 过程体
      其中:
      MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:
      CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...])
      IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值(修改该值会参与运算,但存储过程执行结束后,该值还是初始值)
      OUT 输出参数:该值可在存储过程内部被改变,并可返回
      INOUT 输入输出参数:调用时指定,并且可被改变和返回

    • 创建存储过程例子

    mysql> DROP PROCEDURE IF EXISTS calc_param;
    mysql> DELIMITER $$
    mysql> CREATE PROCEDURE calc_param(IN p_in int, OUT p_out int)  
    BEGIN  
        select p_in;
        set p_in=2;
        set p_out=p_in*2;
        select p_out;
        select * from student;
    END $$ 
    mysql> DELIMITER ;
    mysql> set @p_in=1;
    mysql> set @p_out=5;
    mysql> call calc_param(@p_in,@p_out);
    mysql> select @p_in;
    mysql> select @p_out;
    
  • 相关阅读:
    ubuntu查看系统负载和程序运行状况
    ubuntu 离线装包
    python如何离线装包 离线如何部署python环境
    开发板上如何配置apahe2+mysql+php7
    c++指针实例
    nginx反向代理nginx,RealServer日志打印真实ip
    lvs+keep搭建高可用web服务
    linux一键安装vncserver脚本
    ansible 学习与实践
    centos7编译安装MySQL5.7.9
  • 原文地址:https://www.cnblogs.com/cag2050/p/7117774.html
Copyright © 2011-2022 走看看