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存储过程名称
-- 定义条件和处理
--加入是对的,但执行报错,因为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)的更多相关文章
- Redis 学习笔记四 Mysql 与Redis的同步实践
一.测试环境在Ubuntu kylin 14.04 64bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文 ...
- MYSQL初级学习笔记四:查询数据的操作DQL(SELECT基本形式)(26-35)
知识点六:查询数据的操作DQL(SELECT基本形式)(26-35) CREATE DATABASE IF NOT EXISTS cms DEFAULT CHARACTER SET utf8; USE ...
- mysql的学习笔记(四)
---恢复内容开始--- 1.插入操作 INSERT (1)INSERT table_name(col_name,...) VALUES(...),(....) CREATE TABLE user( ...
- MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
- openresty 学习笔记四:连接mysql和进行相关操作
openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 基于【 MySql 】二 || mysql详细学习笔记
mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...
- Mysql事务学习笔记
Mysql事务学习笔记 1.事务概述 事务是数据库的执行单元,它包含了一条或多条sql语句,进行的操作是要么全部执行,要么全部都不执行. 2.事务执行命令 语法格式: start transactio ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- 【HDOJ6228】Tree(树)
题意:有一棵n个点的树,在树上的点涂色,每个点涂一种颜色,一共可以涂k种颜色, 然后把同一种颜色(比如说x)的点用最优方案连起来,在连线的边涂上x颜色,问涂k次的边最多有几条 k<=500 si ...
- Java 模板权重随机
Template templates=...// 所有的模板 final int _weights=1000; // 所有的模板权重 Template _template=null; //随机一个权重 ...
- C# 用this修饰符为原始类型扩展方法
特点:1.静态类 2.静态方法 3.第一个参数前加this 例如:public static List<T> ToList<T>(this string Json),就是为th ...
- dbms_metadata.get_ddl的使用总结
https://blog.csdn.net/newhappy2008/article/details/34823339
- Struts2防止重复提交
一般使用<interceptor-ref name="token"></interceptor-ref>或者<interceptor-ref name ...
- RabbitMQ核心组件及应用场景
一.适用场景 1.解耦 2.最终一致性 3.广播 4.错峰与流控(秒杀业务用于流量削峰场景) 秒杀场景 二.核心组件,关键点(交换器.队列.绑定) AMPQ消息路由必要三部分:交换器.队列.绑定. J ...
- Ubuntu下Deb软件包相关安装与卸载
安装deb软件包 sudo dpkg -i xxx.deb 删除软件包 sudo dpkg -r xxx.deb 连同配置文件一起删除 sudo dpkg -r --purge xxx.deb 查看软 ...
- dropwatch 网络协议栈丢包检查利器 与 火丁笔记
http://blog.yufeng.info/archives/2497 源码:http://git.fedorahosted.org/cgit/dropwatch.git http://blog. ...
- python实现网速控制,限制上传下载速度
对于python的web,比如flask使用的werkzeug,首先找到wsgi的请求和响应的代码,使用算法实现大文件的小速率上传和下载 考虑python实现socket限流 关于限速的讨论:http ...
- Ghost本地安装highlight.js使代码高亮
对于程序猿写博客来说,这代码高亮是起码的要求.可是Ghost本身没有支持高亮代码. 可是能够通过扩展来实现,它就是highlight.js--附官方站点,看了下首页介绍,真的非常强大,如今说说怎么进行 ...