- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 2023北京西城高三(上)期末英语(教师版).docx VIP
- 星火英语四级词汇.pdf VIP
- 混凝土通病预防措施.pdf VIP
- 乡镇党委宣传委员、统战委员2024年度民主生活会个人带头严守政治纪律和政治规矩方面,带头增强党性、严守纪律、砥砺作风等方面四个带头对照查摆剖析材料2篇.doc VIP
- 2025年土木工程施工试卷及答案 .pdf VIP
- 外研版三起英语六年级下册教材分析.docx
- 政府采购项目招标代理机构服务 投标技术方案(技术标).docx VIP
- 吴越春秋原文全文集.docx VIP
- 土木工程施工》期末考试试卷A(有答案).pdf VIP
- 成都经温江至邛崃高速公路扩容工程对四川崇州桤木河省级湿地公园生态影响评价报告.docx VIP
文档评论(0)