河南中医药大学:《MySQL数据库应用》课程讲稿课件_第六章 MySQL存储过程函数触发器事件(MySQL过程式数据库对象——存储过程、存储函数、触发器、事件)(2/2)

h MyST MuSUL Workbench MySQL数据库应用 河南中医药大学信息技术学院王昂 201902
MySQL数据库应用 河南中医药大学信息技术学院 王昂 2019.02

MySQL 第六章 MySL过程式数据库对象 主讲内容:存储过程、存储函数、触发器、 事件 MySQL数据库应用》ht: mysql xg. hactcm edu.cn 第2页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 2 页 第六章 MySQL过程式数据库对象 主讲内容:存储过程、存储函数、触发器、 事件

教学内容 MySQL 1.存储过程 存储函数 3.触发器 4.事件 MySQL数据库应用》http:/mysql.xg.hactcm.edu.cn 第3页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 3 页 教学内容 1. 存储过程 2. 存储函数 3. 触发器 4. 事件

0613游标及其应用 MySQL 一条 select…nto语句返回的是带有值的一行,这样可以把数据读 取到存储过程中,但是常规的 select查询语句可以返回多行记录,如果 数据量非常大,这就需要在存储过程中使用游标来逐条读取查询结果集 中的数据。 使用游标需要用到4条特殊语句,分别是: DECLARE CURSOR(声明游标) OPEN CURS0R(打开游标) FETCH CURS0R(读取游标) CLOSE CURSOR(关闭游标) MySQL数据库应用》ht: mysql xg. hactcm edu.cn 第4页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 4 页 6.1.3游标及其应用 一条select……into语句返回的是带有值的一行,这样可以把数据读 取到存储过程中,但是常规的select查询语句可以返回多行记录,如果 数据量非常大,这就需要在存储过程中使用游标来逐条读取查询结果集 中的数据。 使用游标需要用到4条特殊语句,分别是: − DECLARE CURSOR(声明游标) − OPEN CURSOR(打开游标) − FETCH CURSOR(读取游标) − CLOSE CURSOR(关闭游标)

0613游标及其应用 MySQL (1)声明游标 语法格式: DECLARE游标名CURS0 R FOR se lect语句 说明: 游标只能在存储过程或存储函数中使用。 一个块中的每一个游标必须有唯一的名字。 上述 SELECT语句不能有|NT0子句。 MySQL数据库应用》http:/mysql.xg.hactcm.edu.cn 第5页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 5 页 6.1.3游标及其应用 (1)声明游标 语法格式: DECLARE 游标名 CURSOR FOR select语句 说明: - 游标只能在存储过程或存储函数中使用。 - 一个块中的每一个游标必须有唯一的名字。 - 上述SELECT语句不能有INTO子句

0613游标及其应用 MySQL 下面的定义符合一个游标声明 declare xs cur 1 cursor for select学号,姓名,性别,出生日期,总学分 ft rom Xs where 专业名三'计算机 MySQL数据库应用》http:/mysql.xg.hactcm.edu.cn 第6页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 6 页 6.1.3游标及其应用 下面的定义符合一个游标声明: declare xs_cur1 cursor for select 学号,姓名,性别,出生日期,总学分 from xs where 专业名 = '计算机';

0613游标及其应用 MySQL (2)打开游标 声明游标后,要使用游标从中提取数据,就必须先打开游标。 使用0PEN语句打开游标,其格式为: 0PEN游标名 例如:打开游标ⅹscur1。 open Xs cur1 MySQL数据库应用》http:/mysql.xg.hactcm.edu.cn 第7页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 7 页 6.1.3游标及其应用 (2)打开游标 声明游标后,要使用游标从中提取数据,就必须先打开游标。 使用OPEN语句打开游标,其格式为: OPEN 游标名 例如:打开游标xs_cur1。 open xs_cur1

0613游标及其应用 MySQL (3)读取数据 游标打开后,就可以使用FET啡H…INT0语句从中读取数据。 语法格式: FETCH游标名INTo变量名 将查询到的数据存储在变量中,因此需要读取刚才打开过的游标 fetch xs cur1 into xh, xm, xb, csrg, zxf 的数交颁等声游时。匚LcU了可牛列的数日 MySQL数据库应用》http:/mysql.xg.hactcm.edu.cn 第8页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 8 页 6.1.3游标及其应用 (3)读取数据 游标打开后,就可以使用FETCH…INTO语句从中读取数据。 语法格式: FETCH 游标名 INTO 变量名 ... 说明: - FETCH ...INTO语句与SELECT...INTO语句具有相同的意义; - FETCH语句是将游标指向的一行数据赋给一些变量, FETCH子句中变量 的数目必须等于声明游标时SELECT子句中列的数目。 将查询到的数据存储在变量中,因此需要读取刚才打开过的游标: fetch xs_cur1 into xh,xm,xb,csrq,zxf;

0613游标及其应用 MySQL (4)关闭游标 游标使用完以后,要及时关闭。关闭游标使用CL0SE语句。 语法格式为: CLOSE游标名 例如:关闭游标 xs cur1 ClOSE XS cur 1 MySQL数据库应用》http:/mysql.xg.hactcm.edu.cn 第9页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 9 页 6.1.3游标及其应用 (4)关闭游标 游标使用完以后,要及时关闭。关闭游标使用CLOSE语句。 语法格式为: CLOSE 游标名 例如:关闭游标xs_cur1。 CLOSE xs_cur1

0613游标及其应用 MySQL 【例69】创建一个存储过程,计算xs表中行的数目。 del imiter $$ create procedure compute out number integer) egIn declare xh char(6) declare found boo lean defau ltt number xs:游标名 declare number xs-cursor fo select学号 from xs; declare cont inue handler for not found set found=false set number =0 open number xs fetch number xs into xh: whi le found do set number=number +1 fetch number xs into xh end while close number xs: ends de l imiter cal I compute (enum); select @num; MySQL数据库应用》ht: mysql xg. hactcm edu.cn 第10页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 10 页 6.1.3游标及其应用 【例6.9】创建一个存储过程,计算xs表中行的数目。 delimiter $$ create procedure compute(out number integer) begin declare xh char(6); declare found boolean default true; declare number_xs cursor for select 学号 from xs; declare continue handler for not found set found=false; set number=0; open number_xs; fetch number_xs into xh; while found do set number=number+1; fetch number_xs into xh; end while; close number_xs; end$$ delimiter ; call compute(@num); select @num; number_xs :游标名
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第六章 MySQL存储过程函数触发器事件(MySQL过程式数据库对象——存储过程、存储函数、触发器、事件)(1/2).ppt
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第五章 MySQL语言.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第四章 MySQL索引和完整性约束.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——管理MySQL视图.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——嵌套查询和集合查询.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第三章 MySQL查询和视图——单表查询和多表查询.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第二章 MySQL数据库和表——管理数据表和表数据.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第二章 MySQL数据库和表——创建数据库和数据表.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——MySQL安装.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——数据库基础.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_09实验九:数据备份与数据恢复.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_08实验八:存储过程、存储函数和触发器.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_07实验七:常见的MySQL管理工具.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_06实验六:MySQL语言.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_05实验五:MySQL视图和数据完整性.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_04实验四:MySQL数据查询.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_03实验三:MySQL表数据管理.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_02实验二:MySQL数据库和数据表管理.pdf
- 河南中医药大学:《MySQL数据库管理》课程实验指导_01实验一:在Windows上安装MySQL.pdf
- 河南中医药大学:《MySQL数据库应用》课程设计报告(样例,个人通信数据分析).doc
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第七章 MySQL数据库备份与恢复(一).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第一章 MySQL初步——常用界面管理工具的使用.pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第七章 MySQL数据库备份与恢复(二).pdf
- 河南中医药大学:《MySQL数据库应用》课程讲稿课件_第八章 MySQL用户权限维护.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验一 Microsoft SQL Server 2008的配置及管理.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验七 数据库安全性.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验三 使用SQL语句创建和管理数据库、数据表及表数据.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验九 数据库备份与恢复.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验二 界面方式下数据库、数据表及表数据的创建与管理.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验五 数据库综合查询.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验八 数据库完整性约束.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验六 数据更新.pdf
- 河南中医药大学:《数据库原理》课程教学资源(实验指导)实验四 数据库简单查询.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程资源_实验教学大纲.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程资源_理论教学大纲.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第一章 绪论 第一讲 认识数据库.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第二章 关系数据库 第二讲 关系模型.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第二章 关系数据库 第三讲 数据库系统结构.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第二章 关系数据库 第四讲 关系模型、关系代数.pdf
- 河南中医药大学:《数据库原理 The Principle of Database》课程教学资源(课件讲稿)第三章 关系数据库标准语言SQL 第七讲 创建和管理数据库、数据表.pdf