存储过程存储函数

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

第10章存储过程和存储函数
.存储过程(procedure):
是一组完成特定功能的SQL语句集,即一段存放在数据库中的代码,可由声明式SQL语句(例如CREATE语句、SELECT语句、INSERT语句等)和过程式SQL语句(如IF-THEN
2.存储过程的创建、查看、调用和删除
(1)创建:
delimiter//
create procedure 存储过程名称([形式参数])(先选择数据库) 简
begin
routine body(存储过程体);
end $$
delimiter;
注意:可使用DELIMITER命令将MySQL语句的结束标志修改为其他符号:delimiter//... delimiter;
(2)查看:
show procedure status;/create procedure存储过程名称;
(3)调用:
CALL 存储过程名称([实际参数]);
(4)删除:
drop procedure存储过程名称;
.存储函数(function):
可以分为两种,一种是内置函数,一种是自定义函数。在MySQL中,通常将用户自定义的函数称为存储函数,和MySQL内置函数性质相同,都用于实现某 种功能。
.存储函数的创建、查看、调用和删除
除了调用均与存储过程类似,只需将procedure改成function即可。
(1)创建:create function
(2)查看:show function
(3)调用:select 函数名(实参);(不能用call)
(4)删除:drop function
.存储过程与存储函数的异同 
存储过程与存储函数的异同
(1)相同:
都是过程式数据库对象,都是附有一定功能的代码集合,增删改查操作均类似
(2)不同:
a.存储过程可以有输入和输出参数,但函数只能有输入参数,函数本身就是输出参数
b.存储过程调用:call存储过程名,但函数调用:select函数名(实参)
c.存储过程不允许有return语句,但函数必须有return语句
变量的定义(声名)、赋值、流程控制语句与游标
局部变量:在过程体的开头声名,在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 语句列表 END LOOP[标签];
[标签:]REPEAT 语句列表 UNTIL 条件表达式 END REPEAT[标签];
(4)游标:是通过select语句检索出来的结果集,一定要在存储过程或函数使用,不能单独在查询中使用。操作过程:
定义(声名):declare 游标名称-->
打开:open游标名称-->
读取:fetch游标名称into变量名-->
关闭:close游标名称
用户变量:用户自己定义的变量,存在整个会话中,前面加@符号。
系统变量:全局变量和会话变量,前面加@@符号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值