数据库原理与应用快速入门 课件 6.2 使用存储过程_第1页
数据库原理与应用快速入门 课件 6.2 使用存储过程_第2页
数据库原理与应用快速入门 课件 6.2 使用存储过程_第3页
数据库原理与应用快速入门 课件 6.2 使用存储过程_第4页
数据库原理与应用快速入门 课件 6.2 使用存储过程_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理与应用快速入门6.1使用视图6.2使用存储过程6.3使用触发器第6章

使用其他数据库对象6.4使用MySQL系统函数6.2.1理解存储过程的概念6.2.2创建和执行存储过程6.2.3查看存储过程6.2使用存储过程6.2.4删除存储过程6.2.1理解存储过程的概念我们可以设想,将这些执行频率较高的操作事先用一段命令编写好,保存在数据库服务器端。这样,每次执行操作时,只需要输入简单的指令来执行这段命令,从而简化了操作,提高工作效率。这种方法就是使用存储过程。6.2.1理解存储过程的概念存储过程和表、视图一样,也是一种数据库对象。它是在服务器端保存和执行的一组SQL语句的集合,主要用于提高数据库中检索数据的速度,以及向表中写入或修改数据。用户需要执行存储过程时,只需要给出存储过程的名称和必要的参数即可。6.2.1理解存储过程的概念在数据库中,使用存储过程有以下优点:1、存储过程在服务器端运行,执行速度快、效率高。2、存储过程执行一次后,其执行规划就驻留在高速缓冲存储器中。当需要再次执行时,只要从高速缓冲存储器中调用已编译好的二进制代码执行即可,从而提高了系统性能。3、确保数据库的安全。使用存储过程可以完成所有的数据库操作,并可以通过编程方式控制上述操作对数据库信息访问的权限。4、自动完成需要预先执行的任务。存储过程可以在系统启动时自动执行,而不必在系统启动后再进行手工操作,从而大大方便了用户的使用,自动完成一些需要预先执行的任务。6.2.2创建和执行存储过程存储过程由CREATEPROCEDURE语句创建,其语法如下:CREATEPROCEDUREproc_name([proc_parameter])Routine_body6.2.2创建和执行存储过程各部分的参数解释如下:1、proc_name:用于指定要创建的存储过程的名称。2、proc_parameter:存储过程的参数。在CREATEPROCEDURE语句中可以声明一个或多个参数。参数的形式:[IN|OUT|INOUT]para_nametype其中,IN表示输入参数,用于接收程序执行过程中的外部输入值;OUT表示输出参数,用于将程序执行的结果输出;INOUT表示参数既可以接收输入也可以用于输出。如果声明时不指定参数类型,默认为IN参数。para_name表示参数的名称,type表示参数的数据类型,可以是MySQL中支持的任意数据类型。3、Routine_body:存储过程主体代码,可包含的任意数目和类型的SQL语句。可以用BEGIN...END来表示代码的开始和结束。6.2.2创建和执行存储过程【例6-14】在student数据库中创建名为“Stuproc1”的存储过程,用来查询班级为“计算机应用”的学生的学号、姓名和性别。6.2.2创建和执行存储过程存储过程创建完成后,可以使用CALL语句来执行,称为调用存储过程。CALL语句的语法格式如下:

CALLproc_name([proc_parameter])6.2.2创建和执行存储过程【例6-15】调用存储过程“Stuproc1”,查看其执行结果。6.2.2创建和执行存储过程【例6-16】创建存储过程“Stuproc2”,根据用户输入的班级名,查询该班学生的学号、姓名和性别。6.2.2创建和执行存储过程【例6-17】调用存储过程“Stuproc2”,查询“软件技术”班的学生情况。6.2.2创建和执行存储过程【例6-18】创建存储过程“Stuproc3”,根据用户输入的学号和课程名,返回该课程的成绩。6.2.2创建和执行存储过程【例6-19】执行存储过程“Stuproc3”,查询学号为“210101001”、课程名为“数学”的成绩。6.2.2创建和执行存储过程【例6-20】创建存储过程“Stuproc4”,根据用户输入的学号,返回该学生的选课门数。6.2.2创建和执行存储过程【例6-21】执行存储过程“Stuproc4”,查询学号为“210101001”的学生的选课门数。6.2.3查看存储过程如果要了解存储过程的状态信息,可以使用SHOWSTATUS语句或SHOWCREATE语句来查看,也可以通过系统数据库information_schema来查询。6.2.3查看存储过程1、使用SHOWSTATUS语句查看存储过程的状态SHOWSTATUS语句的语法结构如下:SHOWPROCEDURESTATUS[LIKE'pattern']其中,LIKE'pattern'可选,用于匹配存储过程的名称。6.2.3查看存储过程【例6-22】使用SHOWSTATUS语句查看存储过程“Stuproc1”的状态。6.2.3查看存储过程2、使用SHOWCREATE语句查看存储过程的状态SHOWCREATE语句的语法格式如下:

SHOWCREATEPROCEDUREproc_name其中,proc_name表示要查看的存储过程的名称。6.2.3查看存储过程【例6-23】使用SHOWCREATE语句查看存储过程“Stuproc1”的状态。6.2.3查看存储过程3、通过系统数据库information_schema查看存储过程的状态MySQL将存储过程的信息存储在系统数据库information_schema中的Routines表里。可以通过查询该表来查看存储过程的信息,语法格式如下:SELECT*FROMinformation_schema.RoutinesWHEREROUTINE_NAME='proc_name';其中,ROUTINE_NAME列中存储的是存储过程的名称,proc_name表示要查询的存储过程名称。6.2.3查看存储过程【例6-24】从系统数据库information_schema中的Routines表里查看存储过程“Stuproc1”的状态。6.2.4删除存储过程如果存储过程已经不常用或不能满足业务的需要,我们就可以删除它。删除存储过程使用DROP命令,DROP命令可以将一个或者多个存储过程从当前数据库中删除,其语法形式如下:

DR

温馨提示

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

最新文档

评论

0/150

提交评论