项目7 以程序方式处理学生信息管理数据表 - 2-任务7-2_第1页
项目7 以程序方式处理学生信息管理数据表 - 2-任务7-2_第2页
项目7 以程序方式处理学生信息管理数据表 - 2-任务7-2_第3页
项目7 以程序方式处理学生信息管理数据表 - 2-任务7-2_第4页
项目7 以程序方式处理学生信息管理数据表 - 2-任务7-2_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《达梦数据库原理及应用》课程教案适用专业:计算机应用技术、软件技术、大数据技术等计算机类专业授课对象:高职一年级学生课程类型:专业基础课先修课程:计算机基础、程序设计基础一、教案基本信息项目内容章节任务7-2创建与使用存储过程和存储函数授课课时4课时(180分钟)授课形式理论讲授+案例分析+分组实操教学目标1.知识目标:-理解存储过程和存储函数的定义、特点及应用场景;-熟练掌握存储过程(无参/带参)的创建、调用、修改及删除语法;-掌握存储函数的创建、调用方法;-明确存储过程与存储函数的核心区别。2.能力目标:-能独立编写无参、带输入/输出参数的存储过程;-能创建并调用存储函数实现数据查询与计算;-能排查存储过程/函数中的语法错误和逻辑漏洞;-能通过小组协作完成复杂业务场景的存储过程开发。3.素养目标:-培养模块化编程思维和规范编码意识;-提升问题解决能力和持之以恒的学习态度;-强化团队协作与沟通能力,契合职场开发场景。教学重难点重点:-存储过程(无参/带IN/OUT/INOUT参数)的创建与调用;-存储函数的创建与调用(SELECT/CALL语句);-存储过程与存储函数的区别与适用场景。难点:-带输出参数的存储过程的参数传递与结果获取;-存储过程体中流程控制语句与SQL语句的结合使用;-存储过程/函数的错误排查(语法错误、逻辑漏洞)。教学资源多媒体课件、DM数据库、案例素材(STUDENT、COURSE、SC表等)、实训任务单等。思政融入通过模块化编程教学,培养学生“化繁为简”的逻辑思维和职场工匠精神;2.结合带参存储过程的参数传递难点,引导学生树立“严谨细致”的工作态度;3.分组实训中强调团队协作,培养学生的沟通配合能力,契合企业开发场景。二、教学过程设计(一)课前导入(5分钟)案例导入回顾任务7-1场景:“通过循环语句实现了向student_new表插入100万条记录,但如果需要在多个场景重复执行该操作,每次都要编写完整循环代码,存在冗余、维护不便的问题。”提问引导:“在Python、Java中,我们可以用函数封装重复代码,DM数据库中是否有类似机制?如何让批量插入、数据查询等重复操作更简洁高效?”引出课题:“今天我们学习存储过程和存储函数,它们是DM数据库中封装重复SQL操作的核心技术,能大幅提升开发效率和代码复用性。”(二)复习旧知(5分钟)回顾上节课核心内容:DM_SQL变量定义、流程控制语句(IF…ELSE、WHILE)、批量插入逻辑。互动提问:“如果要多次执行‘查询某班级学生信息’的操作,如何避免重复编写SELECT语句?”学生回答后总结:“存储过程和存储函数正是为解决‘代码复用、简化操作’而生,今天我们就动手掌握这一核心技能。”(三)理论讲授(60分钟)【知识点1】:存储过程和存储函数概述-定义:存储在数据库服务器中,经编译优化的一组DM_SQL语句集合,用于完成特定功能。-核心特点(优势):模块化:一次创建,多次调用,减少代码冗余;高效性:预编译执行,比单次执行SQL语句速度更快;安全性:可限制执行权限,保护敏感数据;减流量:网络中仅传输调用指令,降低网络负载。-应用场景:重复执行的操作(如批量插入、数据统计、多表关联查询)、复杂业务逻辑实现(如成绩计算、数据校验)。【知识点2】:存储过程的创建与调用-核心语法;CREATE[ORREPLACE]PROCEDURE[<模式名>.]<存储过程名>[WITHENCRYPTION]([<参数名><参数模式><参数类型>[,…]])AS|IS<存储过程体>;-关键参数说明:ORREPLACE:存在同名存储过程时覆盖;WITHENCRYPTION:加密存储过程体,防止查看;参数模式:IN(输入参数,默认)、OUT(输出参数)、INOUT(输入输出参数)。-创建存储过程示例(1)创建无参存储过程(例:查询青岛籍的学生信息)SETSCHEMAGRADEM;CREATEORREPLACEPROCEDUREproc_student_qd()ISBEGINSELECTsno,sname,classno,saddressFROMstudentWHEREsaddressLIKE'%青岛%'ORDERBYsno;END;(2)创建带输入参数的存储过程(例:查询指定班级的学生信息)SETSCHEMAGRADEM;CREATEPROCEDUREproc_student_class(in_classnoVARCHAR(8))ISBEGINSELECTsno,sname,ssex,birthdayFROMstudentWHEREclassno=in_classno;END;(3)创建带输入+输出参数的存储过程(例:统计指定学生的选课门数)SETSCHEMAGRADEM;CREATEPROCEDUREproc_student_course_count(in_snoCHAR(10),out_countOUTINT)ISBEGINSELECTCOUNT(*)INTOout_countFROMscWHEREsno=in_sno;END;-调用语法:(1)无参/带输入参数CALL存储过程名([参数值]);(CALL可省略)(2)带输出参数需先定义变量接收结果,再调用DECLAREtotalINT;BEGINCALLproc_student_course_count('2020030101',total);PRINT'选课门数:'||total;END;【易错点提醒】参数模式与变量类型必须匹配(如OUT参数需定义对应数据类型变量接收);存储过程体中SQL语句需以分号结尾,END后需加分号;调用带参数的存储过程时,参数顺序需与定义一致。【知识点3】:存储函数的创建与调用-核心语法:CREATE[ORREPLACE]FUNCTION[<模式名>.]<函数名>[WITHENCRYPTION]([<参数名><参数模式><参数类型>[,…]])RETURN<返回数据类型>AS|IS<函数体>;-关键区别:必须指定RETURN子句,参数模式默认IN,函数体中需有RETURN语句返回结果。-示例(查询指定班级的辅导员姓名):CREATEORREPLACEFUNCTIONfunc_class_header(in_classnoVARCHAR(8))RETURNVARCHAR(8)ISv_headerVARCHAR(8);BEGINSELECTheaderINTOv_headerFROMclassWHEREclassno=in_classno;RETURNv_header;END;-调用语法:SELECT语句调用(返回结果):SELECT函数名([参数值]);例:SELECTfunc_class_header('20200301');【易错点提醒】:函数必须有且仅有一个返回值,返回数据类型需与RETURN定义一致;SELECT语句调用的函数不能包含OUT/INOUT参数;函数体中RETURN语句需放在逻辑结束前。【知识点4】存储过程和存储函数的删除(四)实操练习(100分钟)1.任务布置分组(每组3-4人),完成以下任务:任务1:根据实训任务单,完成存储过程和存储函数编程任务。2.过程指导教师巡视各组,重点指导:参数定义、调用语法、错误排查;针对共性问题(如输出参数传递、函数返回值类型),集中讲解并演示修正方法;鼓励小组内成员互相分享思路,协作解决问题,记录实训过程中的关键问题及解决方法。3.成果展示选取2-3组展示实训结果,点评优点与不足,强调“代码复用”的核心价值。(五)课堂小结与作业布置(10分钟)1.课堂小结(5分钟)回顾核心内容:存储过程和存储函数的创建、调用、修改、删除;关键区别:返回值、调用方式、参数类型、应用场景。职业素养:模块化编程是职场核心技能,遇到错误时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论