zoukankan      html  css  js  c++  java
  • MYSQL进阶学习笔记四:MySQL存储过程之定义条件,处理过程及存储过程的管理!(视频序号:进阶_11,12)

    知识点五:MySQL存储过程之定义条件和处理过程及存储过程的管理(11,12)

    定义条件和处理:

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

      DECLARE CONTINUE HANDLER FOR SQLSTATE  ‘错误代码值’SET @变量=变量值

    存储过程的管理:

      存储过程的修改:
        ALTER {PROCEDURE | FUNCTION} sp_name

          [characteristic …]

          characteristic:

           {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA}

          | SQL SECURITY {DEFINER | INVOKEY }
          | COMMENT ‘string’;

        注释:NO SQL表示子程序中不包含SQL语句,

          READS SQL DATA 表示子程序中包含读数据的语句,

          MODIFIES SQL DATA 表示子程序中包含写数据的语句

          SQL SECURITY {DEFINER | INVOKEY }指明谁有权限执行

          DEFINER表示只有定义者自己才能够执行;

          INVOKEY 表示调用者可以执行

          COMMENT ‘string’是注释信息

      查看数据库下的存储过程:

          SHOW PROCEDURE STATUS WHERE db=’数据库名’;

        查看当前数据库下面的存储过程的列表:

          SELECT specific_name FROM mysql.proc;

        查看存储过程的内容:
          SELECT specific_name,body FROM mysql.proc WHERE specific_name = 存储过程名称;

          或者:SHOW CREATE PROCEDURE 存储过程名称.
      删除存储过程:

        DROP PROCEDURE IF EXISTS存储过程名称

     1 -- 定义条件和处理
     2 --加入是对的,但执行报错,因为userinfo中if为一的以及存在
     3 DELIMITER //
     4 CREATE PROCEDURE p_insertDemo()
     5 
     6 BEGIN
     7     INSERT INTO userinfo VALUES(1,'ui','123');
     8     INSERT INTO employees VALUES(5098,'1990-11-11','uim','jum','2000-11-12');
     9 END 
    10 //
    11 
    12 DELIMITER ;
    13 CALL p_insertDemo2();
    14 
    15 
    16 --对的
    17 DELIMITER //
    18 CREATE PROCEDURE p_insertDemo2()
    19 
    20 BEGIN
    21     DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x=1;
    22     INSERT INTO userinfo VALUES(1,'ui','123');
    23     INSERT INTO employees VALUES(5098,'1990-11-11','uim','jum','M','2000-11-12');
    24 END 
    25 //
    26 
    27 DELIMITER ;
    28 CALL p_insertDemo2();
    定义条件和处理过程测试
    这都是我对自己学习过程的理解,如有错误请指出!我算一个小白了。
  • 相关阅读:
    [leetcode]Combination SumII
    NSum小结
    image 与 canvas 的相互转化
    $_SERVER 相关变量
    最近做的项目,总结一下。
    开始在博客园,写博客,先写点东西。
    Codeforces Round #584 C. Paint the Digits
    Codeforces Round #584 B. Koala and Lights
    Codeforces Round #584 A. Paint the Numbers
    HDU-2296-Ring(AC自动机, DP)
  • 原文地址:https://www.cnblogs.com/darwinli/p/9036486.html
Copyright © 2011-2022 走看看