当前位置:数据库 > > 正文

mysql数据库触发器(MySQL中使用游标触发器的方法)

时间:2021-10-23 10:53:22类别:数据库

mysql数据库触发器

MySQL中使用游标触发器的方法

游标

select检索返回的一组行称为结果集,结果集里的行都是根据你输入的sql语句检索出来的,如果不使用游标,你将没有办法得到第一行,前十行或者是下一行

下面是一些常见的游标现象和特性

下面是使用游标的步骤

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • DECLARE cs CURSOR
  • FOR
  • SELECT *
  • FROM customers
  • WHERE cust_email IS NULL;
  • 本以为万事大吉,但却给我报错

    mysql数据库触发器(MySQL中使用游标触发器的方法)

    从语法上来看没有什么问题

    试着在 cs 前面加上@,运行仍然报错

    还有人说游标只能在存储过程中使用,是这样吗?

    现在我们来试一试在存储过程中使用游标

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • CREATE PROCEDURE proce1
  • ()
  • BEGIN
  •     DECLARE cur1 CURSOR
  •     FOR
  •     SELECT *
  •     FROM customers
  •     WHERE cust_id IS NULL tianyoutianyou;
  • END
  • 仍然出错

    再次更改

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • delimiter //
  • CREATE PROCEDURE proce1
  • ()
  • BEGIN
  •     DECLARE cur1 CURSOR
  •     FOR
  •     SELECT *
  •     FROM customers
  •     WHERE cust_id IS NULL;
  • END
  • 这次我们成功地声明游标

    是不是因为我们修改了分隔符然我们成功地创建游标了呢?

    我们再试试

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • CREATE PROCEDURE proce1()
  • DECLARE cur1 CURSOR
  • FOR
  • SELECT *
  • FROM customers
  • WHERE cust_id IS NULL;
  • 这样也是错误的,下面再试试不使用存储过程地语句能否成功创建游标

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • delimiter //
  • DECLARE cur2 CURSOR
  • FOR
  • SELECT *
  • FROM orders ;
  • 或者是这样

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • delimiter //
  • DECLARE cur2 CURSOR
  • FOR
  • SELECT *
  • FROM orders //
  • 这两种也8行

    试了这么多次,唯一成功的只有下面这种语句

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • delimiter //
  • CREATE PROCEDURE proce1()
  • BEGIN
  •     DECLARE cur1 CURSOR
  •     FOR
  •     SELECT *
  •     FROM customers
  •     WHERE cust_id IS NULL;
  • END
  • 下面我们用游标来检索数据

    很遗憾,MySQL中没有像Oracle中 %ROWTYPE 般的数据类型,我们下面试着使用游标来检索customers表中的某一类数据类型

    触发器

    触发器时特定的存储过程,在数据库发生特定活动时自动进行,一般来说,约束的处理比触发器更快,因此在可能的时候,应该尽可能地使用约束。

    到此这篇关于MySQL中使用游标触发器的方法的文章就介绍到这了,更多相关mysql游标触发器内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!

    原文链接:https://blog.csdn.net/weixin_44634406/article/details/113717366

    上一篇下一篇

    猜您喜欢

    热门推荐