网站大量收购闲置独家精品文档,联系QQ:2885784924

MySQL数据库 4.3 存储过程和函数的开发教案 .docx

MySQL数据库 4.3 存储过程和函数的开发教案 .docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE16

教案首页

课程名称

MySQL数据库开发

本节课题

任务4.3存储过程和函数的开发

授课方式

理实一体化

教学参考及教具

姜云桥主编.MySQL数据库开发.临科院:教务处,2023

计算机MySQL数据库软件多媒体教学系统资料包

教学目标及基本要求

理解存储过程

了解DELIMITER命令

掌握创建存储过程的方法

掌握修改和删除存储过程的方法

培养自主学习能力

教学重点

教学难点

创建、执行、修改和删除存储过程

创建存储过程

教学小结

作业及要求

按照任务书做好预习任务

创建、执行、修改和删除存储过程

教后反思

注意:用微课视频每个典型操作做示范

教案用纸

教学内容、方法和过程

附记

任务4.3存储过程和函数的开发

【任务背景】

银行经常需要计算用户的利息,但不同类别的用户的利率是不一样的。这就可以将计算利率的SQL代码写成一个程序存放起来,用指定的用户类别作参数。这样的程序叫作存储过程或者存储函数。

使用时只要调用这个存储过程或者存储函数,根据指定的用户类别,就可以将不同类别用户的利息计算出来。

再如,在编制学生管理系统时,当某个学生某门课程的成绩修改后,根据成绩CJ是否高于60分更新credit表,将符合条件的学生某门课的学分累加到该生的总学分里。

这是一组重复使用的一段SQL语句。可以将这段SQL语句写成存储过程或存储函数存储在MySQL服务器中,然后再调用,就可以执行多次重复的操作。

【任务要求】

本任务将从认识存储过程着手,学习创建、执行、修改和删除存储过程的方法。包括创建基本的存储过程,创建带有变量的存储过程,创建带有流程控制语句的存储过程。

【任务必备知识】

4.3.1存储过程和函数的基本操作

从MySQL5.1版本开始支持存储过程和存储函数。

在MySQL中,可以定义一段完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它,这样的语句集称为存储过程。

一、创建存储过程

创建存储过程可以使用createprocedure语句。

createprocedure[ifnotexists]sp_name([in|out|inout]param_nametype,...)

routine_body

说明:

1)sp_name是存储过程的名称。需要在特定数据库中创建存储过程时,否则要在名称前面加上数据库的名称,格式为db_name.sp_name。

2)param_name和type分别表示参数名和参数的类型,当有多个参数的时候中间用逗号分隔,

MySQL存储过程支持3种类型的参数:输入参数、输出参数和输入/输出参数,关键字分别是IN、OUT和INOUT。存储过程也可以不加参数,但是名称后面的括号是不可省略的。

3)routine_body是存储过程体。里面包含了在过程调用的时候必须执行的语句,这个部分总是以begin开始,以end结束。当然,当存储过程体中只有一个SQL语句时可以省略BEGIN-END标志。

【任务4.3.1】创建存储过程sp_delete_student,用指定的学号作为参数删除某一学生的记录。

mysqldelimiter$$

mysqlcreateproceduresp_delete_student(innochar(8))

-begin

-deletefromstudentwheres_no=no;

-end$$

mysqldelimiter;

【任务4.3.2】创建带输出参数的存储过程sp_count_student,求学生人数。

mysqldelimiter$$

mysqlcreateproceduresp_count_student(outstu_cntintunsigned)

-begin

-selectcount(*)intostu_cntfromstudent;

-end$$

mysqldelimiter;

【任务4.3.3】创建存储过程sp_search_teacher,以指定的系别号为参数,查找某学院的老师姓名、所在院系名称。

mysqldelimiter$$

mysqlcreateproceduresp_search_teacher(innochar(8))

-begin

-selectt.t_name,d.d_name

-fromteachertjoindepartmentdont.d

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档