《数据库原理及应用(MySQL版) 理论教案 第8次课(理论)游标.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用(MySQL版) 理论教案 第8次课(理论)游标.docx(3页珍藏版)》请在第一文库网上搜索。
1、教案首页(以2课时为单元)课 序授课日期授课班次授课教师批准人8课题第3章数据库编程目的要求(1)掌握MySQL的常量的表示及变量的定义及使用;(2)掌握使用控制流语句实现简单及复杂的存储函数;(3)掌握存储过程的创建及调用;(4)掌握游标的使用步骤,通过游标实现对每条记录的不同操作。教学内容1.游标重点难点(1)重点:游标的定义与使用(2)难点:结合异常处理的游标应用教学方法手 段教学方法:启发、引导、演示、归纳手 段:多媒体课件和黑板画的图例讲解教学步骤1 .提问引起思考引入课程2 .精讲课堂内容3 .课堂小结4 .布置作业复习 提问题Select查询结果为一批记录,如何实现对查询结果逐条
2、进行处理哪?作业题目预习内容数据库三大完整性课时分配(以分钟计算)教学环节复习提问新课讲解课堂实践每课小结布置作业时间分配5781052教学内容课堂组织第3章数据库编程【课程导入】问题:Select查询结果为一批记录,如何实现对查询结果逐条进行处理哪? 【讲授内容】3.4游标使用游标处理数据需要4个步骤:声明游标、打开游标、提取数据和关闭游标。1.声明游标在存储程序中,声明游标与声明变量一样,都需要使用DECLARE语句,其语 法形式如下。DECLARE 游标名 CURSORFOR SELECT 语句;【说明】(1)声明游标的作用是得到一个SELECT查询结果集,该结果集中包含了应 用程序中要
3、处理的数据,从而为用户提供逐行处理的途径。(2) SELECT语句是对表或视图的查询语句。可以带WHERE条件、ORDER BY或GROUP BY等子句,但不能使用INTO子句。2 .打开游标打开游标使用OPEN语句,其语法形式如下。OPEN 游标名;游标必须先声明后打开。打开游标时,SELECT语句的查询结果就被传送到了 游标工作区,以便供用户读取。3 .提取数据游标打开后,使用FETCH语句将游标工作区中的数据读取到变量中,其语法 形式如下。FETCH游标名INTO 变量名1,变量名2;成功打开游标后,游标指针指向结果集的第一行之前,而FETCH语句将使游 标指针指向下一行。因此,第一次执
4、行FETCH语句时,将检索第一行中的数据保 存到变量中。在随后每执行一次FETCH语句,该指针将移动到结果集的下一行。 可以在循环中使用FETCH语句,这样每一次循环都会从表中读取一行数据,然后 进行相同的逻辑处理。4 .关闭游标游标使用完后,需用CLc)SE语句将其关闭,其语法形式如下。CLOSE游标名;游标一旦关闭,游标占用的资源就被释放,用户不能再从结果集中检索数据, 如果想重新检索,必须重新打开游标才能使用。5 .异常处理存储程序中的异常处理通过DECLARE HANDLER语句实现,其语法形式如 下。DECLARE错误处理类型HANDLER FOR错误触发条件自定义错误处理程 序;【
5、说明】(1)一般情况下,异常处理语句置于存储程序(存储过程或存储函数)中才有意义;(2)异常处理语句必须放在所有变量及游标定义之后,所有MySQL表达式 之前;(3)错误处理类型。错误处理类型只有CONTINUE和EXIT两种,CONTINUE 表示错误发生后,MySQL立即执行自定义错误处理程序,然后忽略该错误继续执 行其它MySQL语句。EXrr表示错误发生后,MySQL立即执行自定义错误处理程 序,然后立刻停止其它MySQL语句的执行。(4)错误触发条件。错误触发条件定义了自定义错误处理程序运行的时机。 错误触发条件的形式如下:Sqlstate ,ansi标准错误代码,I MySQL错误
6、代码I SqlwarningI NOTFOUNDI Sqlexcepion错误触发条件支持标准的Sqlstate定义,也支持MySQL的错误代码; Sqlwarning表示对所有以Oi开头的sqlstate代码的速记; NOT FOUND表示对所有以02开头的SQLSTATE代码的速记; Sqlexception表示对所有没有被Sqlwarning或not found捕获的 SQLSTATE代码的速记;(5)自定义错误处理程序。错误发生后,MySQL会立即执行自定义错误处理 程序中的MySQL语句。【课程小结】本次课主要掌握游标的声明、打开、读取、关闭过程,及使用异常处理提高代 码的鲁棒性。【课后自我总结分析】游标可以实现逐条提取记录并进行不同的处理,过程易于理解,与存储过程结 合实现不同功能需多加练习。思政案例