文档详情

存储过程的创建和调用课件.pptx

发布:2025-04-09约3.6千字共16页下载文档
文本预览下载声明

存储过程的创建和调用

创建与使用存储过程

【任务提出】

王宁利用编程基础知识,实现了“向学生基本信息表student_new中插入100

万条记录”的基本代码,但当运行时会出现语法错误。原因在于局部变量和循环

语句必须嵌套在存储过程中才能成功运行。

王宁需要使用存储过程来验证上述代码的业务逻辑是否正确,以及是否可以

成功运行。

创建与使用存储过程

01什么是存储过程和存储函数

存储过程(StoredProcedure)和函数(StoredFunction)是在数据库中定义

一些完成特定功能的SQL语句集合,经编译后存储在数据库中。

存储过程和函数中可包含流程控制语句及各种SQL语句。它们可以接

受参数、输出参数、返回单个或者多个结果。

创建与使用存储过程

01存储过程的优点

在MySQL中使用存储过程,而不是用存储在客户端计算机本地的SQL程序有以下优点:

ü存储过程增强了SQL语言的功能和灵活性

ü存储过程允许模块化程序设计

ü存储过程能实现较快的执行速度

ü存储过程能够减少网络流量

ü存储过程可被作为一种安全机制来充分利用

创建与使用存储过程

(1)利用CREATEPROCEDURE语句创建

用户可以使用CREATEPROCEDURE语句创建存储过程,其基本语法如下:

CREATEPROCEDURE

procedure_name([proc_parameter[,…]])

Routine_body

创建与使用存储过程

各参数的含义如下:

①procedure_name:存储过程的名称

②proc_parameter:存储过程中的参数列表,其形式为:

【IN|OUT|INOUT】param_nametype

IN表示输入参数,OUT表示输出参数,INOUT表示既可以输入也可以输出,默认为IN,param_name表

示参数名称,type表示参数类型。

③Routine_body:包含在存储过程中的SQL语句块。可以用BEGIN…END来表示SQL代码的开始与结束。

创建与使用存储过程

【例1】创建一个存储过程,从数据库gradem的student表中检索出所有籍贯为“青岛”

的学生的学号、姓名、班级号及家庭地址等信息。具体语句如下:

USEgradem;

DELIMITER//

CREATEPROCEDUREproc_stud()

BEGIN

SELECTsno,sname,classno,saddress

FROMstudent

WHEREsaddressLIKE%青岛%

ORDERBYsno;

END//

DELIMITER;

创建与使用存储过程

【例2】创建一个名为num_sc的存储过程,统计某位同学的考试门数,代码如下:

DELIMITER//

CREATEPROCEDUREnum_sc(INtmp_snochar(10),OUTcount_numINT)

BEGIN

SELECTCOUNT(*)INTOcount_num

FROMsc

WHEREsno=tmp_sno;

END//

DELIMITER;

创建与使用存储过程

(2)利用Navicat图形工具创建

利用Navicat图形工具创建存储过程方便、简单,且易操作。

n操作步骤:

I.在Navicat中,连接到mysql服务器。

II.展开【mysql】|【gradem】|【函数】,右键单击该节点,选择【新建函数】命令。

III.打开【函数向导】对话框,选

显示全部
相似文档