知识点五: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存储过程名称

 -- 定义条件和处理
--加入是对的,但执行报错,因为userinfo中if为一的以及存在
DELIMITER //
CREATE PROCEDURE p_insertDemo() BEGIN
INSERT INTO userinfo VALUES(1,'ui','');
INSERT INTO employees VALUES(5098,'1990-11-11','uim','jum','2000-11-12');
END
// DELIMITER ;
CALL p_insertDemo2(); --对的
DELIMITER //
CREATE PROCEDURE p_insertDemo2() BEGIN
DECLARE CONTINUE HANDLER FOR SQLSTATE '' SET @x=1;
INSERT INTO userinfo VALUES(1,'ui','');
INSERT INTO employees VALUES(5098,'1990-11-11','uim','jum','M','2000-11-12');
END
// DELIMITER ;
CALL p_insertDemo2();

定义条件和处理过程测试

MYSQL进阶学习笔记四:MySQL存储过程之定义条件,处理过程及存储过程的管理!(视频序号:进阶_11,12)的更多相关文章

  1. Redis 学习笔记四 Mysql 与Redis的同步实践

    一.测试环境在Ubuntu kylin 14.04 64bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文 ...

  2. MYSQL初级学习笔记四:查询数据的操作DQL(SELECT基本形式)(26-35)

    知识点六:查询数据的操作DQL(SELECT基本形式)(26-35) CREATE DATABASE IF NOT EXISTS cms DEFAULT CHARACTER SET utf8; USE ...

  3. mysql的学习笔记(四)

    ---恢复内容开始--- 1.插入操作 INSERT (1)INSERT table_name(col_name,...) VALUES(...),(....) CREATE TABLE user( ...

  4. MySql学习笔记四

    MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...

  5. openresty 学习笔记四:连接mysql和进行相关操作

    openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...

  6. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. 基于【 MySql 】二 || mysql详细学习笔记

    mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...

  8. Mysql事务学习笔记

    Mysql事务学习笔记 1.事务概述 事务是数据库的执行单元,它包含了一条或多条sql语句,进行的操作是要么全部执行,要么全部都不执行. 2.事务执行命令 语法格式: start transactio ...

  9. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. EC++学习笔记(三) 资源管理

    条款13:以对象管理资源 资源包括:动态分配内存.文件描述符.网络socket.互斥锁.数据库连接 把资源放进对象内,可以依赖c++的"析构函数自动调用机制"确保资源被释放智能指针 ...

  2. 洛谷 [P3812] 线性基

    异或空间下的线性基模版 异或空间下求线性基,本质还是高斯消元,参见 http://www.cnblogs.com/Mr-WolframsMgcBox/p/8562924.html 求最大值是一个贪心的 ...

  3. angular中关于ng-repeat的性能问题

    首先,ng-repeat的渲染是改变则渲染的.而且是无法自动检测内容是否改变的. $scope作为一个对象,对象的特性就是两个对象是不相同的,因为我们比较的是两个对象的地址,即便两个对象的内容甚至排版 ...

  4. Lumia 1020 诞生:诺基亚拍照技术的一次狂欢

    它在手机发展史上留下一长串坚实的脚印,拥趸遍及世界.它从巅峰滑落,但从未放弃向过去致敬的机会. 2002 年,作为世界上第一款内置摄像头拍照手机,诺基亚 7650 的横空出世将手机行业硬生生推上一个新 ...

  5. android之总结(一)——原

    1,TextView 中实现跑马灯,需求:文字左边留置一段空白,不需要紧靠在左边:设置android:padding android:padding和android:layout_margin这个地方 ...

  6. ZOJ - 4016 Mergeable Stack (STL 双向链表)

    [传送门]http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4016 [题目大意]初始有n个空栈,现在有如下三种操作: (1) ...

  7. VirtualBox虚拟机出现被召者 RC: E_NOINTERFACE (0x80004002)

    选中VirtualBox右键 就可以正常运行了

  8. Solidworks如何绘制文字

    1 新建草图,并点击工具-草图绘制实体,文本   2 在弹出的窗口中输入文字,并设置文字的字体和样式   3 画好之后效果如下图所示   4 使用拉伸或者拉升切除来得到凸面的文字或者凹面的文字.   ...

  9. shell 检查文件夹所属用户组

    shell 检查文件夹所属用户组 #!/bin/bash # 检查文件夹 权限是否777 检查文件夹所属组是否www # authro ranmufei # 2017 08 21 云板容器版 /dat ...

  10. Effective C++ 条款八 别让异常逃离析构函数

    class DBConn //这个class用来管理DBConnction对象 { public:   //自己设计一个新的DBConn接口 方法3 void close() { db.close() ...