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 ...
随机推荐
- EC++学习笔记(六) 继承和面向对象设计
条款32:确定你的 public 继承塑模出 is-a 关系 public inheritance 意味着 is-a 关系class Derived 以 public 形式继承 class Base, ...
- c/s委托练习
今天玩了玩C/S开发,也随便练习了很久不用的委托 父窗体中写的代码 #region 委托与事件传递 public delegate void TextChangedHandler(string ...
- POJ2486 Apple Tree
Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %lld & %llu Description Wshxzt is ...
- Codeforces963D. Frequency of String
$n \leq 100000$的一文本串,给$m \leq 100000$个询问,每次问一小串在文本串的哪一个最短的子串里出现指定次数.注意,询问串互不相同,且总长度$\leq 100000$. 比赛 ...
- 学习技术的三部曲:WHAT、HOW、WHY
★第一步:WHAT 所谓的“WHAT”也就是“What is it?”——这是最简单的层次.在这个层次,你要搞清楚某个东东是[什么]样子的?有[什么]用处?有[什么]特性?有[什么]语法?...... ...
- vue之组件理解(一)
组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如 data.computed.watch.methods 以及生命周期钩子等.仅有的例外是像 el 这样根实例特有的选项. ...
- 非旋转Treap:用运行时间换调试时间的有效手段
非旋转Treap:用运行时间换调试时间的有效手段 Hello大家好,我们今天来聊一聊非旋转Treap. 相信各位或多或少都做过些序列上的问题.如果水题我们考虑暴力:不强制在线我们可能用过莫队和待修 ...
- luogu P1351 联合权值
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...
- Codeforces 518 D Ilya and Escalator
Discription Ilya got tired of sports programming, left university and got a job in the subway. He wa ...
- javaWeb_Request对象
首先说一下Http协议 一.Http协议的概念及作用 1.什么是HTTP协议? (HTTP,HyperText Transfer Protocol)超文本传输协议, 是互联网上应用最为广泛的一种网络协 ...