MYSQL存储过程中使用游标的实例 (mysql存储过程写法和调用)

教程大全 2025-07-17 09:17:29 浏览

使用MYSQL存储过程,可以实现诸多的功能,下面将为您介绍一个MYSQL存储过程中使用游标的实例,希望对您能有所启迪。

DELIMITER $$

DROP PROCEDURE IF EXISTS getUserInfo $$

CREATE PROCEDURE getUserInfo(in date_day datetime)—— 实例— MYSQL存储过程名为:getUserInfo— 参数为:date_day日期格式:2008-03-08—BEGINdeclare _userName varchar(12); — 用户名declare _chinese int ; — 语文declare _math int ; — 数学declare done int;

— 定义游标DECLARE rs_cursor CURSOR FOR SELECT username,chinese,math from userInfo where datediff(createDate, date_day)=0;

DECLARE CONTINUE HANDLER FOR NOT FOUND Set done=1;

— 获取昨天的日期if date_day is null thenset date_day = date_add(now(),interval -1 day);end if;

open rs_cursor;cursor_loop:loopFETCH rs_cursor into _userName, _chinese, _math; — 取数据if done=1 thenleave cursor_loop;end if;

更新表update infoSum set total=_chinese+_math where UserName=_userName;end loop cursor_loop;cLose rs_cursor;

DELIMITER ;

以上就是MYSQL存储过程中使用游标的实例介绍。

【编辑推荐】

mysql存储过程的调用方法

MYSQL IFNULL函数的使用

带您了解mysql CONCAT()函数

查看三种MySQL字符集的方法


mysql存储过程写法和调用

oracle存储过程中打开游标有几种方法?用open直接打开?还是用open *** for***?

两种方法1.声明游标时写好SELECT语句,如CURSOR r_cur1 IS select *** from tableName where 条件;使用时 OPEN r_cur1; LOOP FETCH *** INTO variable; EXIT WHEN r_cur1%NOTFOUND OR r_cur1%NOTFOUND IS NULL;。 。 。 2.声明游标ccc sys_refcursor;使用时 open ccc for select dept_code,dept_name from _dict; loop fetch ccc into aa,bb; exit when ccc%notfound; 。 。 。 end loop; close ccc;

mysql存储过程中 declare 和 set 定义变量的区别

mysql存储过程中 declare 和 set 定义变量的区别declare为对变量进行声明,声明必须制定变量的数据类型,只能写在过程的前面set是对变量赋值,可以放在过程的任何地方对没有declare声明过的变量赋值,该变量必须以加上@号,否则会报错DECLARE a INT;-- 如果放在下面语句之后,会报错SET a = (SELECT id FROM tb);-- 如果没有前面的声明,会报错SET @b = (SELECT title FROM tb);

sql存储过程的执行

执行带参数的存储过程的方法如下:Exec sp_configure allow updates,1--允许更新系统表。 exec _ChangeObjectOwnerBatch OldOwner,dbo以上是两个例子。 SQL Server中执行带参数的存储过程的方法是:EXEC 存储过程名字 参数1,参数2,数值参数EXEC 是一个关键字。 字符串参数使用单引号括起来,数值参数不需要使用单引号

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐