mysql存储过程结构体_八、mysql视图、存储过程、函数以及时间调度器
1.create or replace view emp_view as select * fromt4 ;给t4表创建一个名为emp_view的视图2.drop viewemp_view 删除视图=======================================
1.创建一个存储过程(查询所有数据)create procedurep1 ()
READS SQL DATABEGIN
select * fromt4;END
2.创建一个存储过程(查询传参数据)create procedure p2(IN tid INT)
READS SQL DATABEGIN
select * from t4 where id =tid;END
3.创建一个存储过程(查询传参数据并返回name)create procedure p3(IN tid INT,OUT tname CHAR(255))
READS SQL DATABEGIN
select name from t4 where id = tid intotname;END
==========================================
1.创建一个存储函数(函数必须有返回值)create function p4(IN tid INT)RETURNS CHAR(255)
DETERMINISTIC
READS SQL DATABEGIN
DECLARE t_name CHAR(255);SELECT tname from t4 where id = tid intot_name;RETURNt_name;END
===========================================
1.定义错误条件和处理
情景1:比如过程中要插入的数据唯一键值已存在create procedurep5 ()BEGIN
DECLARE CONTINUE HANDLER FOR SQLSTATE ‘23000‘ set @x2 = 1; //23000在mysql中代表建已存在或重复的错误代码set @x = 1;insert into ...... //假设这条不重复set @x = 2;insert into ...... //假设这条不重复set @x = 3;insert into ..... //重复END调用:
call p5();select @x,@x2;
将输出:3,1原因:前面2条都顺利执行,@x = 3,最后一条重复,也就是将@x2设置成了1;=============================================
1.光标概念(实际上就是fetch结果集用的)create procedurep6()
READS SQL DATA//表示过程只包含读不包含写BEGIN
DECLARE tid int;//定义idDECLARE tname char;//定义nameDECLARE tcur cursor for select id,name from t4;//定义光标DECLARE exit handler for not found tcur;//如果光标为空则退出,不允许继续执行set @error = ‘‘;//设置返回调用erroropentcur;
repeatfetch tcur intotid,tname;if tid = 1 then
set @error = ‘我是1,但是我报错了‘;else
set @error = ‘我不是1啊,真的啊!‘;end if;
until0 endrepeat;close tcur;//关闭END;===============================================
1.流程控制if:if 1=1 then我是1;else我不是1;end if
case:case
when 1=1 then我是1;else我不是1;end caseloop:
emp: LOOP
#...code.....ENDLOOP emp;
leave emp;//表示从标注的流程中退出(emp表示上面loop的标注) 相当于php中break,只不过leave要指定需要被跳出的结构体
iterate emp;//表示此次循环跳过余下的代码块 相当于php中的continue
repeat:
repeat//循环开始相当于php的do...while...(因为他是在循环结束的时候做判断,因此此循环体至少会被执行一次)
#....code....//相关内容
until1=2 end repeat //如果条件为假则退出循环while://跟php中的while一个概念,只是语法区别while 1=1 do //很明显,这是个死循环
#...code.....end while;================================================
1.时间触发器(时间调度器)1.默认时间触发器是关闭状态set GLOBAL event_scheduler = 1开启2.show variables like ‘scheduler‘ 查看时间调度器开启/关闭状态3.show events;//查看所有调度器4.alter event emp disable; //禁用名为emp的调度器5.drop event emp; //删除名为emp的调度器6.创建一个调度器create event emp //调度器名次on schedule every 5 second //时间5秒
do//开始insert into haha values (NULL); //执行体=================================================PS::2014-07-08继续学习ing.....
mysql存储过程结构体_八、mysql视图、存储过程、函数以及时间调度器相关推荐
- C语言试题五十一之已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入s结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。
1. 题目 请编写一个函数void function(Student a[], int n, Student *s),其功能时:已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入s结构体数组中 ...
- C语言编程题—结构体—设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分
4 C语言编程题--结构体 **设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中.请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有 ...
- C语言编程>第十二周 ③ 已知学生的记录由学号和学习成绩构成,M名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数。
已知学生的记录由学号和学习成绩构成,M名学生的数据已存入a结构体数组中.请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分).已给出函数的首部,请完成该函 ...
- C语言编程>第十三周 ⑧ 已知学生的记录由学号和学习成绩组成,M名学生的数据已存入stu结构体数组中。请编写函数fun,该函数的功能是:
例题:已知学生的记录由学号和学习成绩组成,M名学生的数据已存入stu结构体数组中.请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分).已给出函数的首部, ...
- mysql存储过程自定义结构体_(转)MySQL存储过程/存储过程与自定义函数的区别...
转自:http://www.cnblogs.com/caoruiy/p/4486249.html 语法: 创建存储过程: CREATE[definer = {user|current_user}] P ...
- mysql和python的关系_八MySQL与Python
<1>数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. ...
- mysql 表结构反转_一道经典的MySQL面试题,答案出现三次反转
前几天偶然看到大家在讨论一道面试题,而且答案也不够统一,我感觉蛮有意思,在此就做一个解读,整个过程中确实会有几处反转. 我们先来看下题目: 一张表,里面有ID自增主键,当insert了17条记录之后, ...
- 由浅入深探究mysql索引结构原理_性能分析与优化_由浅入深探究mysql索引结构原理、性能分析与优化...
由浅入深探究mysql索引结构原理.性能分析与优化 第一部分:基础知识第二部分:MYISAM和INNODB索引结构1, 简单介绍B-tree B+ tree树 2, MyisAM索引结构 3, Ann ...
- mysql 中有什么命令_常用mysql命令大全
常用的MySQL命令大全 连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命 ...
最新文章
- 为什么会出现网络流量管理?
- Extjs4 MVC 示例
- android 两端对齐,LinearLayout子控件两端对齐
- 【渝粤教育】国家开放大学2018年春季 0045-22T烹饪原料学(1) 参考试题
- C#实现图片文件到数据流再到图片文件的转换
- Android系统(133)---Google Play Store无法搜索应用或提示应用不兼容,此类问题该如何定位及分析
- plsql 无法解析指定的连接标识符_TNS03505:无法解析名称
- 【amp;#9733;】Web精彩实战之amp;lt;智能迷宫amp;gt;
- 关于在arm裸板编程时使用printf问题的解决方法
- 计算机术语alu,计算机术语大全
- Notepad++ 替代品开源了!
- 轻松读书——麦肯锡教我的写作武器
- **xxchat系统之线程池实时监控方案(Jmx远程后台监控、暂停、启用)
- 银行接口数据包(银行名称获取)
- 雷军:我也想做高级工程师 !
- AWS免费云主机之如何使用putty登录
- 【学术相关】女教师的两难困境:当生育遇上考核
- ConcurrentHashMap学习
- 纯静态网页设计鞋服包包 鞋子 童装 服装网店商城html模板.rar(含源码+论文)
- 【python】带你深入了解“迭代器“