第十章 存储过程和存储函数

文章详细介绍了MySQL中的存储过程和存储函数,包括它们的创建、查看、调用和删除方法。存储过程可以有输入和输出参数,而函数只有输入参数,且必须有return语句。此外,还讨论了变量的定义、赋值以及流程控制语句如IF-THEN-ELSE和循环结构的使用。
摘要由CSDN通过智能技术生成

1.存储过程(procedure):

是一组完成特定功能的SQL语句集,即一段存放在数据库中的代码,可由声明式SQL语句(例如CREATE语句、SELECT语句、INSERT语句等)和过程式SQL语句(如IF-THEN-ELSE控制结构语句)组成.

2.存储过程的创建、查看、调用和删除

(1)创建:

delimiter//

create procedure存储过程名称(形式参数])(先选择数据库)

beqin

routine body(存储过程体) end $$ delimiter:

注意:可使用DELIMITER命令将MySQL语句的结束标志修改为其他符号:delimiter/….delimiter;

(2)查看:

show procedure status:/create procedure存储过程名称:

(3)调用:

CALL 存储过程名称((实际参数]);

(4)删除:

drop procedure 存储过程名称

8.存储函数(function):

可以分为两种,一种是内置函数,一种是自定义函数。在MySQL中,通常将用户自定义的函数称为存储函数,和MySQL内置函数性质相同,都用于实现某种功能,

4.存储函数的创建。查看、调用和删除

除了调用均与存储过程类似,只需将procedure改成function即可。(1)创建:create function(2)查看:showfunction

(3)调用:select函数名(实参);(不能用call)(4)删除:drop function

5.存储过程与存储函数的异同

(1)相同:

都是过程式数据库对象,都是附有一定功能的代码集合,增删改查操作均类似

(2)不同:

a.存储过程可以有输入和输出参数,但函数只能有输入参数,函数本身就是输出参数 b.存储过程调用:call存储过程名,但函数调用:select函数名(实参) c.存储过程不允许有return语句,但函数必须有return语句

6.变量的定义(声名)、赋值、流程控制语句与游标

局部变量:在过程体的开头声名,在begin…end内总有效

(1)定义:declare 变量名 变量类型

(2)单个赋值语句:set变量名=变量值或表达式(3)列表赋值语句:select列表名into变量名(3)流程控制语句:

a.条件语句:if...then..else.. end if

case 变量名

when...then...end case;

b.循环语句:while…end while;

[标签:LOOP语句列表ENDLOOP[标签;

[标签:]REPEAT 语句列表UNTIL条件表达式ENDREPEAT[标签

(4)游标:是通过select 语句检索出来的结果集,一定要在存储过程或函数使用,不能单独在查询中使用。

操作过程:

定义(声名):declare游标名称-->打开:open 游标名称-->

读取:fetch 游标名称into变量名-->关闭:close 游标名称

用户变量:用户自己定义的变量,存在整个会话中,前面加@符号,与存储过程的输出变量个数相同。系统变量:全局变量和会话变量,前面加@@符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值