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视图、存储过程、函数以及时间调度器相关推荐

  1. C语言试题五十一之已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入s结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。

    1. 题目 请编写一个函数void function(Student a[], int n, Student *s),其功能时:已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入s结构体数组中 ...

  2. C语言编程题—结构体—设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分

    4 C语言编程题--结构体 **设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中.请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有 ...

  3. C语言编程>第十二周 ③ 已知学生的记录由学号和学习成绩构成,M名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数。

    已知学生的记录由学号和学习成绩构成,M名学生的数据已存入a结构体数组中.请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分).已给出函数的首部,请完成该函 ...

  4. C语言编程>第十三周 ⑧ 已知学生的记录由学号和学习成绩组成,M名学生的数据已存入stu结构体数组中。请编写函数fun,该函数的功能是:

    例题:已知学生的记录由学号和学习成绩组成,M名学生的数据已存入stu结构体数组中.请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分).已给出函数的首部, ...

  5. mysql存储过程自定义结构体_(转)MySQL存储过程/存储过程与自定义函数的区别...

    转自:http://www.cnblogs.com/caoruiy/p/4486249.html 语法: 创建存储过程: CREATE[definer = {user|current_user}] P ...

  6. mysql和python的关系_八MySQL与Python

    <1>数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. ...

  7. mysql 表结构反转_一道经典的MySQL面试题,答案出现三次反转

    前几天偶然看到大家在讨论一道面试题,而且答案也不够统一,我感觉蛮有意思,在此就做一个解读,整个过程中确实会有几处反转. 我们先来看下题目: 一张表,里面有ID自增主键,当insert了17条记录之后, ...

  8. 由浅入深探究mysql索引结构原理_性能分析与优化_由浅入深探究mysql索引结构原理、性能分析与优化...

    由浅入深探究mysql索引结构原理.性能分析与优化 第一部分:基础知识第二部分:MYISAM和INNODB索引结构1, 简单介绍B-tree B+ tree树 2, MyisAM索引结构 3, Ann ...

  9. mysql 中有什么命令_常用mysql命令大全

    常用的MySQL命令大全 连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命 ...

最新文章

  1. 为什么会出现网络流量管理?
  2. Extjs4 MVC 示例
  3. android 两端对齐,LinearLayout子控件两端对齐
  4. 【渝粤教育】国家开放大学2018年春季 0045-22T烹饪原料学(1) 参考试题
  5. C#实现图片文件到数据流再到图片文件的转换
  6. Android系统(133)---Google Play Store无法搜索应用或提示应用不兼容,此类问题该如何定位及分析
  7. plsql 无法解析指定的连接标识符_TNS03505:无法解析名称
  8. 【amp;#9733;】Web精彩实战之amp;lt;智能迷宫amp;gt;
  9. 关于在arm裸板编程时使用printf问题的解决方法
  10. 计算机术语alu,计算机术语大全
  11. Notepad++ 替代品开源了!
  12. 轻松读书——麦肯锡教我的写作武器
  13. **xxchat系统之线程池实时监控方案(Jmx远程后台监控、暂停、启用)
  14. 银行接口数据包(银行名称获取)
  15. 雷军:我也想做高级工程师 !
  16. AWS免费云主机之如何使用putty登录
  17. 【学术相关】女教师的两难困境:当生育遇上考核
  18. ConcurrentHashMap学习
  19. 纯静态网页设计鞋服包包 鞋子 童装 服装网店商城html模板.rar(含源码+论文)
  20. 【python】带你深入了解“迭代器“

热门文章

  1. 第四章 遗传变异的分类
  2. 音频编辑软件_Audacity2.12版
  3. python的numpy(array)
  4. 单分子实时测序技术的原理与应用
  5. microsoft edge 打不开 csdn 博客
  6. Input.GetTouch 获取触摸
  7. php如何查询数据是否存在,PHP判断数据库中的记录是否存在的方法,php数据库_PHP教程...
  8. nullptr和NULL
  9. java 给窗口加菜单_程序求助:如何给窗口添加菜单?
  10. Springboot swagger2教程