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

    一.参数

    1.in

    2.out

    3.inout

    二.流程控制

    1.选择语句

    (1)if...then...elseif....then...end if;

    (2)case...when...then...when...then...else...end case;

    (3)ifnull:有两个参数。当第一个参数为空时,选第二个参数,即使第二个参数也为空;否则选第一个。

     三.循环语句

    1.while...do...end while;

     2.repeat

      内容

           util条件  //退出循环条件

     end repeat;

     

    3.loop名字:loop

      内容

      if 条件 then

              leave loop名字;

      end if;

      end loop;  

     

    四.定义条件和处理

    定义条件和处理可以用来定义在处理过程中遇到问题时相应的处理步骤

    declare continue handler for sqlstate '错误代码值' set 变量=变量值

    1.定义存储变量并执行,得到错误代码:

    2.定义条件和处理来处理错误

     五.管理存储过程

    1.查看数据库下的存储过程:show procedure status where db='数据库名';

    2.查看当前数据库下存储过程的列表:select specific_name from mysql.proc;

    3.查看存储过程的内容:select specific_name,body from mysql.proc;

                                          show create procedure 存储过程名

    4.删除存储过程:drop procedure if exists 存储过程名字;

    5.修改存储过程:

    alter {procedure | function} sp_name [characteristic]

    characteristic:

      {contains sql | no sql | reads sql data | modified sql data}

      | sql security {definer | invoker}

      | comment 'string'

    contains sql表示子程序中包含sql语句,但不包含读或写数据的语句;

    no sql 表示子程序中不包含sql语句;

    read sql data 表示子程序中包含读数据的语句;

    modifies sql data表示子程序中包含写数据的语句。

    sql security {definer | invoker}指明谁有权限来执行。

    definer表示只有定义者自己才能执行;invoker表示调用者可以执行。

    comment ‘string’是注释信息

    目前,MySQL还不提供对已存在的存储过程的代码修改
    如果,一定要修改存储过程的diam,必须,先将存储过程删除之后,在重新编写代码,或者创建一个新的存储过程

  • 相关阅读:
    Vue.Draggable/SortableJS 的排序功能,在VUE中的使用
    vue项目中安装使用echarts
    CSS3美化有序列表
    Git 设置
    javascript 使用btoa和atob来进行Base64转码和解码
    vue 裁剪图片,插件Cropper的使用
    PHPEXCEL xls模板导入,及格式自定义:合并单元格、加粗、居中等操作
    HTML5的 input:file上传 以及 类型控制
    phpexcel 导出到xls文件的时候出现乱码解决
    Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录
  • 原文地址:https://www.cnblogs.com/xiehuazhen/p/10098707.html
Copyright © 2011-2022 走看看