- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;;存储过程是一种数据库对象,是存储在服务器上的一组预定义的SQL语句集合。
使用存储过程的目的是将常用或复杂的工作预先用SQL语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程。当以后需要数据库提供与已定义好的存储过程的功能相同的服务时,只需调用存储过程即可。
存储过程可以用来完成转换数据、迁移数据、制作报表等数据库管理中的复杂操作,以减少数据库管理员的工作量。由于存储过程是在MySQL服务器中存储和执行的,因此可以避免重复编写相同的代码,减少客户端和服务器端的数据传输,执行速度快,提高系统性能。存储过程中通过流程控制语句可以完成较复杂的判断和运算,实现更强的功能。此外,存储过程也可以增强数据库使用的安全性和数据完整性。
存储过程具有与函数不同的特点,两者区别如下。
(1)语法定义的关键字不同,存储过程使用PROCEDURE,而函数使用fUNCTION。
(2)存储过程在创建时没有设置返回值,而函数定义时必须设置返回值。
(3)存储过程没有返回值类型,且不能将结果直接赋给变量;而函数定义时要设置返回值类型,且在调用时必须将返回值赋给变量。
(4)存储过程必须通过CALL调用,不能用SELECT语句调用;而函数可以直接使用SELECT语句调用。;10.1.1创建存储过程
1.创建存储过程
创建存储过程与创建自定义函数大体相同,其语法格式如下。
CREATEPROCEDURE存储过程名([[IN|OUT|INOUT]参数名数据类型])
存储过程体
说明:
(1)PROCEDURE:存储过程标识。
(2)IN|OUT|INOUT:在为存储过程设置参数时,在参数名前可指定参数的来源及用途。
IN为默认值,表示输入参数,即参数是在调用存储过程时传入存储过程里使用,传入的数据可以是直接数据,也可以是保存的数据变量;
OUT表示输出参数,初始值为NULL,它的作用是将存储过程中的值保存到OUT指定的参数中,返回给调用者;
INOUT表示输入输出参数,INOUT参数跟OUT类似,都可以从存储过程内部传值给调用者,不同的是调用者还可以通过INOUT参数传递值给存储过程。
(3)过程体:存储过程的主体部分,包含在存储过程调用的时候必须执行的SQL语句。这个部分以关键字BEGIN开始,以关键字END结束。若存储过程体中只有一条SQL语句,则可以省略BEGIN和END关键字。;【例题10.1】在cjgl数据库中创建一个名称为proc_rjxs的存储过程,其功能是显示学生xs表中软件技术专业的学生的信息。
执行如下语句。
USEcjgl;
CREATEPROCEDUREproc_rjxs()
SELECT*FROMxsWHERE专业名=软件技术;;【例题10.3】在cjgl数据库中创建一个带输入输出参数的存储过程proc_xmxh,其功能是根据给定的学生姓名返回相应学生的学号。
执行如下语句。
DELIMITER//
CREATEPROCEDUREproc_xmxh(INxmCHAR(8),OUTxhCHAR(6))
BEGIN
SELECT学号INTOxhFROMxsWHERE姓名=xm;
END//
DELIMITER;;2.调用存储过程
在MySQL中使用CALL语句来调用存储过程,其语法格式如下。
CALL存储过程名([参数[...]]);
【例题10.4】调用存储过程proc_rjxs,显示学生表xs中软件技术专业的学生的信息。调用存储过程p_xsxx,显示学号为001101的学生的信息。调用存储过程proc_xmxh,查询学生“王金华”的学号。
分别执行如下语句。
CALLproc_rjxs();
CALLproc_xsxx(001101);
CALLproc_xmxh(王金华,@xh);
SELECT@xh;;10.1.2管理存储过程
1.查看存储过程
(1)查看存储过程的定义。
在MySQL中可以通过SHOWCREATE语句查看存储过程的定义,其语法格式如下。
SHOWCREATEPROCEDURE存储过程名;
如SHOWCREATEPROCEDUREproc_rjxs;。
(2)查看存储过程的状态信息。
在MySQL中可以通过SHOWSTATUS语句查看存储过程的状态,其语法格式如下。
SHOWPROCEDURESTATUSLIKE存储过程名;
如SHOWPROCEDURESTATUSLIKEproc
您可能关注的文档
- MySQL数据库管理与应用任务式教程(微课版)单元1 mysql的安装、配置与使用.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元2 数据库基本原理.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元3 创建与管理数据库.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元4 创建与管理表.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元5 查询数据.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元6 创建与管理视图.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元7 用户管理.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元8 MySQL数据库备份与恢复.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元9 mysql 数据库编程基础.pptx
- MySQL数据库管理与应用任务式教程(微课版)单元11 Java+MySQL 人力资源管理系统开发综合实例.pptx
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
最近下载
- 2024届高考写作指导:“劳动之苦与劳动之美”审题指导及优秀范文两篇精品.docx
- 部编统编1张凯+快乐读书吧《非洲民间故事》导读课公开课教案教学设计.docx VIP
- 糖尿病性酮症酸中毒课件.pptx
- 科学教育出版社七年级上册劳动实践手册教案.docx VIP
- 《当代中文》第一课--您贵姓.ppt VIP
- 部编版五年级语文上册第六单元质量评价试卷(含答案).pdf VIP
- 第三章 地球的面貌-2024-2025学年七年级地理上册单元速记清单(湘教版2024).docx VIP
- 九年级上学期家长会.11.ppt省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 国开(电大)《现代汉语专题》形考作业1-6参考答案(下载可编辑).pdf
- 2.6 直角三角形(原卷版).docx VIP
文档评论(0)