我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

一个存储过程可以看作是一组 SQL 指令的整合,类似于一组命令的集合,但它的功能并不仅限于执行批量操作。

在 MySQL 中,要建立存储程序,所应用的指令是 。其基础写法规范为:

定义一个存储过程,其名称为sp_name,接受一个参数,该参数的类型为proc_parameter,并具有特定的属性特征,过程体部分包含具体的实现逻辑。

1) 为用来创建存储过程的关键字;

2) 为存储过程的名称;

3) 为指定存储过程的参数列表,列表形式如下:

参数名称具有输入,输出或双向属性,其数据类型为指定类型

其中,IN 代表作为输入的变量,OUT 代表作为输出的变量,INOUT 代表既可以作为输入也可以作为输出; 后面跟着的是变量的名称;type 指的是变量的类型,这个类型可以是 MySQL 数据库中存在的任何一种类型。

4) 指定存储过程的特性,有以下取值:

这是 SQL 脚本的部分,可以用起始…终止来标明 SQL 脚本的起始和终止位置。

设计存储程序并非易事,里面或许涉及结构繁复的数据库查询指令,并且执行前必须具备相应的授权;不过借助存储程序能够简化流程,削减不必要的环节,另外还能降低执行期间的偏差,提升成效,所以说存储程序相当有价值,大家应当努力掌握其应用方法。

这段文字展示了存储操作的细节,其称号为 ,能够计算全部果品的均价,编写方式如下:

制定一个名为AvgFruitPrice的过程,用于计算平均水果价格,该过程不包含任何参数,可以直接执行以获取结果
BEGIN
计算平均价格,结果命名为avgprice
    FROM fruits;
END;

这段代码里,那个存储过程的名称是 ,采用 () 语法来构建。该存储过程不带任何参数输入,不过括号 () 还是必须保留。BEGIN 和 END 语句负责框定存储过程的主体内容,整个程序逻辑其实只包含了一条基础指令(AVG 是计算字段平均数的函数)。

【实例】创建查看 表的存储过程,代码如下:

CREATE PROCEDURE Proc()
BEGIN
    SELECT * FROM fruits;
END ;

这段程序定义了一个用于检视数据表的数据库子程序,每当启动该子程序,便会运行查询指令来检索数据表中的数据,具体操作步骤如下:

MySQL> DELIMITER //
MySQL中,可以建立一个名为Proc的过程,通过以下方式定义
   -> BEGIN
   -> SELECT * FROM fruits;
   -> END //
查询成功,没有数据被改动,用时零点零零秒
MySQL> DELIMITER ;

这个存储过程跟使用单个语句查询表所获得的结果相同,当然存储过程可以包含多个语句的复杂组合,就像例子开头展示的那个语句一样,那个语句本身也能调用其他函数,从而实现更复杂的操作。

这个符号用来更改 MySQL 的终止字符,原本是英文分号。这样做是为了防止存储程序中的语句结尾与它产生混淆。因此必须先改成新的符号,然后以“结束存储程序”来收尾。完成存储程序的定义后,要重新设置为标准的终止字符。 也可以指定其他符号作为结束符。

【实例】创建名称为 的存储过程,代码如下:

设立一个存储过程,名为CountProc,通过输出参数param1返回一个整数
BEGIN
查询水果表中的记录总数,将结果存入param1变量中
END;

这个存储过程的主要功能是查询表中的数据行数,它的名字是 ,通过 COUNT(*) 统计完成后,将统计值存入指定的参数里。运行后的输出数据如下:

mysql> DELIMITER //
mysql中可以定义一个存储过程,名为CountProc,该过程带有一个输出参数,参数类型为整数
   -> BEGIN
查询水果表中的记录总数,将结果存入param1变量中。
   -> END;
   -> //
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;

二维码
扫一扫在手机端查看

本文链接:https://www.by928.com/shan-xi/11033.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线