当前位置:  数据库>mysql

MySQL 存储过程和"Cursor"的使用方法

    来源: 互联网  发布时间:2014-09-06

    本文导语:  示例如下: 代码如下:CREATE PROCEDURE `justifyGroupNum`() NOT DETERMINISTIC SQL SECURITY DEFINER COMMENT '' BEGIN /*how to run:call justifyGroupNum()*/ DECLARE p_group_id int; declare p_num int; declare stopFlag int; DECLARE cursor_name CURSOR FOR select c_group_id,count(*) as num from `...

示例如下:
代码如下:

CREATE PROCEDURE `justifyGroupNum`()
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
/*how to run:call justifyGroupNum()*/
DECLARE p_group_id int;
declare p_num int;
declare stopFlag int;
DECLARE cursor_name CURSOR
FOR select c_group_id,count(*) as num
from `t_group_member`
where c_valid in (3,4)
group by c_group_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
OPEN cursor_name;
REPEAT
FETCH cursor_name INTO p_group_id,p_num;
begin
update t_groupinfo set c_member_number=p_num where c_group_id=p_group_id;
end;
UNTIL stopFlag = 1
END REPEAT;
CLOSE cursor_name;
END;

总结:
1、注意设置游标的countinue handler:DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
2、注意REPEAT和UTILE [停止条件] END REPEAT的使用,否则不会循环;
3、如何RUN,输入并执行:call justifyGroupNum()

    
 
 

您可能感兴趣的文章:

  • mysql中的Load data的使用方法
  • MySQL中的LOCATE和POSITION函数使用方法
  • 使用dreamhost空间实现MYSQL数据库备份方法
  • 使用JDBC,用什么方法可以知道MYSQL中有几个库,每个库有几个表?
  • Mysql中的find_in_set的使用方法介绍
  • mysql使用source 命令乱码问题解决方法
  • mysql截取函数常用方法使用说明
  • MySQL Like语句的使用方法
  • mysql中sum float类型使用小数点的方法
  • mysql使用SQLyog导入csv数据不成功的解决方法
  • phpmyadmin显示MySQL数据表“使用中” 修复后依然无效的解决方法
  • MySQL中使用load data命令实现数据导入的方法
  • mysql中insert与select的嵌套使用方法
  • linux系统mysql自动备份并使用ftp上传的方法
  • 使用phpMyAdmin修改MySQL数据库root用户密码的方法
  • 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)
  • 通过dbi使用perl连接mysql数据库的方法
  • PHP中使用localhost连接Mysql不成功的解决方法
  • MySQL中使用case when 语句实现多条件查询的方法
  • centos6使用yum安装php mysql与gd扩展库的方法
  • java将类序列化并存储到mysql(使用hibernate)
  • MySQL存储引擎 MySQL Maria
  • mysql 存储过程实例和基本语法
  • MYSQL存储过程里代返回值的存储过程怎么写
  • MySQL存储引擎 Spider For MySQL
  • MySQL存储引擎 MyISAM
  • 更改Mysql数据库存储位置的具体步骤
  • MySQL存储引擎 Q4M
  • MySQL5创建存储过程的示例
  • MySQL 存储引擎 XtraDB
  • MySQL 存储引擎 CascaDB
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql安装过程中的错误
  • linux上装mysql过程中有错误
  • mysql 精简过程(删除一些文件)
  • Mysql存储过程和函数区别介绍
  • MySQL 存储过程中执行动态SQL语句的方法
  • mysql 存储过程输入输出参数示例
  • mysql 查询数据库中的存储过程与函数的语句
  • 装了red hat linux,安装过程中选了apache和mysql的安装
  • MySQL DNS的使用过程详细分析
  • mysql存储过程实例
  • jdbc调用mysql存储过程实现代码
  • mysql 导入导出数据库以及函数、存储过程的介绍
  • MySQL存储过程相互调用并获得错误码示例
  • MySQL 有输入输出参数的存储过程实例
  • mysql心得分享:存储过程
  • 我装了linux后,如果知道我机器里装了些什么软件,如php,mysql之类?我在安装过程中看到linux的确把这些安装到了我机器里,但我如何看,
  • mysql 让一个存储过程定时作业的代码
  • 基于mysql事务、视图、存储过程、触发器的应用分析
  • mysql存储过程中使用游标的实例
  • mysql多次调用存储过程的问题
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • MySQL 重装MySQL后, mysql服务无法启动
  • php安装完成后如何添加mysql扩展
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • MySQL Workbench的下载安装与使用教程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3