mysql 触发器 游标的作用_MySQL(十二)游标和触发器

本文详细介绍了MySQL中的游标和触发器。游标提供了一种在查询结果集中逐行处理数据的方法,主要用于存储过程。创建游标需用declare语句,然后用open和close语句打开和关闭游标,fetch语句用于获取游标中的数据。在使用游标时,需要注意声明、打开、使用和关闭的顺序。触发器则是在特定数据库操作(如insert、delete、update)发生时自动执行的语句,可用于数据验证、审计跟踪等。MySQL支持before和after触发器,通过new和old虚拟表可以访问受影响的行数据。
摘要由CSDN通过智能技术生成

一、游标

定义:存储在MySQL服务器上的数据库查询,是一种被select语句检索出来的结果集。

作用:方便在检索出来的结果集中前进或后退一行或多行。

游标主要用于交互式应用;MySQL中的游标只能用于存储过程(和函数)。

1、创建游标

游标使用declare语句创建;declare命名游标,并定义响应的select语句,根据需要带where和其他子句;例如:

create procedure processorders()

begin

declare ordernumbers CURSOR

for

select order_num from orders;

end;

这个存储过程中,declare定义和命名了游标ordernumbers,存储过程处理完成后,游标消失(因为它局限于存储过程内)。

2、打开和关闭游标

游标使用open cursor语句来打开,例如:

open ordernumbers;

在处理open语句时执行查询,存储检索出的数据以供浏览和滚动;

游标处理完成时,使用close语句关闭,例如:

close ordernumbers;

close释放游标使用的所有内部内存和资源,因此在每个游标不在需要时都应该关闭。

PS:一个游标关闭后,如果没有重新打开,则不能使用;但如果该游标被声明过,则不需要再次声明,用open语句打开使用即可。

如果不明确游标是否关闭,MySQL将会在到达end语句时自动关闭该游标;比如:

create procedure processorders()

begin

-- declare the cursor

declare ordernumbers cursor

for

select order_num from orders;

-- open the cursor

open ordernumbers;

-- close the cursor

close ordernumbers;

end;

这个存储过程声明、打开、关闭一个游标,但对检索出的数据没任何操作。

3、使用游标数据

游标被打开后,使用fetch语句分别访问

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值