- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
8.3.2用户定义函数IFaver1=aver2/*IF…ELSE语句的应用*/THENRETURNcn1;ELSERETURNcn2;ENDIF;END//【例8-17】判断C001和C002号课哪个平均成绩高。USEteaching;SELECTaverage1(C001,C002)AS平均成绩高的课程;8.3.2用户定义函数4.删除函数可以通过可视化管理工具的菜单界面、也可以通过SQL语句删除用户自定义函数。【例8-18】通过DROPFUNCTION语句删除average函数。USEteaching;DROPFUNCTIONaverage;8.4存储过程存储过程就是一个具有独立功能的子程序,以特定的名称存储在数据库中。8.4.1存储过程概述存储过程是SQL语句和可选流程控制语句的预编译集合,它以一个名称存储并作为一个单元处理,能够提高系统的应用效率和执行速度。存储过程是一种独立存储在数据库内的对象,可以接受输入参数、输出参数,可以返回单个值或多个结果集,也可以完成数据库中数据更新,由应用程序通过调用执行。8.4.1存储过程概述存储过程的优点:(1)模块化程序设计。只需创建一次,可在程序中调用任意次。可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。(2)加快SQL语句的执行速度。创建存储过程时对其进行分析和优化并预先编译好放在数据库内,减少编译语句所花的时间。(3)减少网络流量。一条执行过程代码的单独语句。(4)更高地安全性。可以授予用户执行存储过程的权限,而不授予其直接访问数据库对象(表、视图等)的权限。8.4.2创建存储过程MySQL创建存储过程的SQL语句语法格式如下:CREATEPROCEDUREprocedure_name([IN|OUT|INOUT][parameter_namedata_type][,…n])BEGINprocedure_body;END8.4.2创建存储过程【例8-19】在teaching库创建无参存储过程,查询每个学生的平均成绩。USEteaching;DELIMITER//CREATEPROCEDUREstudent_avg()BEGINSELECTsno,avg(score)asavgscoreFROMscGROUPBYsno;END//8.4.2创建存储过程【例8-20】在teaching库创建带输入参数的存储过程,查询某个学生的基本信息。USEteaching;DELIMITER//CREATEPROCEDUREGetStudent(numberchar(10))BEGINSELECT*FROMstudentWHEREsno=number;END//8.4.2创建存储过程【例8-21】在teaching库创建带输入参数的存储过程,修改某个学生某门课的成绩。USEteaching;DELIMITER//CREATEPROCEDUREUpdate_score(numberchar(10),cnchar(4),sc1int)BEGINUPDATEscSETscore=sc1WHEREsno=numberandcno=cn;END//8.4.2创建存储过程【例8-22】在bankcard数据库中使用流程控制语句创建存储过程。假设今天银行有活动,如果今天某账号交易支出总金额超过3000元,则奖励其10元。USEbankcard;DELIMITER//CREATEPROCEDUREadd_10(ANOchar(20))BEGINIF(SELECTSUM(Expense)FROMTrecordWHERETDate=CURDATE()ANDAccNO=ANO)=3000THENUPDATEAccountSETBalance=Balance+10WHEREAccNO=ANO;INSERTINTOTrecord(TDate,AccNO,Income,Abstract)VALUES(CURDATE(),ANO,10,银行活动奖励);ENDIF;END//8.4.2创建存储过程【例8-23】在bankcard数据库创建带
您可能关注的文档
- 《数据库原理及应用教程-MySQL8.0》教案全套 尹志宇 第1--13章 数据库系统概述---基于C#.NET数据库系统开发.doc
- 《数据库原理及应用教程-MySQL8.0》教学大纲.docx
- 《数据库原理及应用教程-MySQL8.0》课件 第1章 数据库系统概述.ppt
- 《数据库原理及应用教程-MySQL8.0》课件 第2章 关系数据库.ppt
- 《数据库原理及应用教程-MySQL8.0》课件 第3章 数据库设计.ppt
- 《数据库原理及应用教程-MySQL8.0》课件 第4章 MySQL基础.ppt
- 《数据库原理及应用教程-MySQL8.0》课件 第5章 数据库和表的操作.ppt
- 《数据库原理及应用教程-MySQL8.0》课件 第6章 数据库查询.ppt
- 《数据库原理及应用教程-MySQL8.0》课件 第7章 视图和索引.ppt
- 《数据库原理及应用教程-MySQL8.0》课件 第9章 游标、触发器和事件.ppt
最近下载
- JB-QGL-9000火灾报警控制器使用说明.pdf VIP
- 六足步行机器人设计毕业论文.doc
- 迅投QMT极速策略交易系统_模型资料_Python_API_说明文档_Python3.pdf
- 医院创建优质服务基层行创建资料(3.6.1C医疗废物和污水处理管理).docx VIP
- 化学实验报告——乙酸乙酯的合成.doc VIP
- 化学实验报告乙酸乙酯的合成.pdf
- 2023-2024学年广东省广州市天河八年级英语第二学期期末复习检测试题含答案.doc VIP
- 医院创建优质服务基层行创建资料(3.4.3护理安全管理).docx VIP
- 慢性阻塞性肺病伴有急性下呼吸道感染护理查房.pptx
- 广东省广州市天河区2023-2024学年八年级下学期期末统考英语试题(含解析).docx VIP
文档评论(0)