本文实例讲述了Mysql存储过程中游标的用法。分享给大家供大家参考。具体如下:

1. 批量插入商户路由关联数据:

DELIMITER $$

USE `mmm_mac`$$

DROP PROCEDURE IF EXISTS `批量插入商户路由关联数据`$$

CREATE DEFINER=`root`@`%` PROCEDURE `批量插入商户路由关联数据`()

BEGIN

DECLARE v_partner_no VARCHAR(32);

DECLARE v_partner_id INT(11);

DECLARE v_sc_pid INT(11);

DECLARE v_mac_no VARCHAR(32);

DECLARE v_mac_addr VARCHAR(32);

DECLARE n_mac_no BIGINT;

DECLARE n_mac_addr BIGINT;

DECLARE n_mac_addr_str VARCHAR(32);

DECLARE done INT;

#取得商户数据

DECLARE cur_partnerlist CURSOR

FOR

SELECT comp_id, partner_no, sc_pid FROM mmm_partner.anl_partner;

SET n_mac_no = 100000000;

SET n_mac_addr = 1000000000;

OPEN cur_partnerlist;

REPEAT

FETCH cur_partnerlist INTO v_partner_id,v_partner_no,v_sc_pid;

SET v_mac_no = CONCAT('MAC',v_sc_pid,n_mac_no);

SET n_mac_addr_str = CONCAT(SUBSTR(n_mac_addr,1,2),':',SUBSTR(n_mac_addr,3,2),':',SUBSTR(n_mac_addr,5,2),':',SUBSTR(n_mac_addr,7,2),':',SUBSTR(n_mac_addr,9,2));

SET v_mac_addr = CONCAT('CC:',n_mac_addr_str);

SET n_mac_no = n_mac_no + 1;

SET n_mac_addr = n_mac_addr + 1;

#向t_machine_sc_config表中插入商户关联路由的数据

#insert into t_machine_sc_config(mac_no, partner_no, partner_id, sc_pid, mac_addr, comp_id, is_lock) values('MAC2016000000001','44060430603381',1,4403,'C8:87:18:AB:79:66',1,1);

INSERT INTO t_machine_sc_config(mac_no, partner_no, partner_id, sc_pid, mac_addr, comp_id, is_lock) VALUES(v_mac_no,v_partner_no,v_partner_id,v_sc_pid,v_mac_addr,1,1);

UNTIL 0 END REPEAT;

CLOSE cur_partnerlist;

END$$

DELIMITER ;

2. 更新商户表:

DELIMITER $$

USE `mmm_partner`$$

DROP PROCEDURE IF EXISTS `更新商户表`$$

CREATE DEFINER=`root`@`%` PROCEDURE `更新商户表`()

BEGIN

DECLARE v_partner_no VARCHAR(32);

DECLARE vpartner_no VARCHAR(32);

DECLARE v_partner_id VARCHAR(32);

DECLARE n BIGINT;

DECLARE partnerid_list CURSOR

FOR

SELECT comp_id FROM 100msh_partner.anl_partner WHERE TRIM(partner_no) = '';

SET vpartner_no = '2015415parno';

SET n = 10000000;

OPEN partnerid_list;

REPEAT

FETCH partnerid_list INTO v_partner_id;

SET v_partner_no = CONCAT(vpartner_no,n);

SET n = n + 1;

UPDATE mmm_partner.anl_partner SET partner_no = v_partner_no WHERE comp_id = v_partner_id;

UNTIL 0 END REPEAT;

CLOSE partnerid_list;

END$$

DELIMITER ;

希望本文所述对大家的mysql数据库程序设计有所帮助。

mysql存储脚本实例_Mysql存储过程中游标的用法实例相关推荐

  1. 多字段mysql触发器实例_mysql触发器原理与用法实例分析

    本文实例讲述了mysql触发器原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是触发器 创建触发器 单条触发器语句 多条触发器语句 查看触发器 删除触发器 触发器的新旧记录引用 首发日期 ...

  2. Oracle存储过程中游标的简单使用

    初衷: 存储过程中查询语句如何返回多行结果? 我们知道,如果存储过程中查询语句有多行结果输出,会报错: ORA-01422: exact fetch returns more than request ...

  3. mysql 统计存储过程实例_MySQL存储过程实例

    一.创建MySQL数据库函数 TCC:无参数,查询fruit表中的所有数据 : TAA:两个参数,查询fruit总共有多少行:查询ids为某个值时水果表的数据 TDD:两个参数,查询ids不等于某个值 ...

  4. mysql游标 原理解说_mysql存储过程之游标(DECLARE)原理与用法详解

    本文实例讲述了mysql存储过程之游标(DECLARE)原理与用法.分享给大家供大家参考,具体如下: 我们在处理存储过程中的结果集时,可以使用游标,因为游标允许我们迭代查询返回的一组行,并相应地处理每 ...

  5. mysql的存储过程原理_mysql存储过程原理与用法详解

    本文实例讲述了Mysql存储过程原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是存储过程 存储过程的创建 存储过程的使用 查看存储过程 修改存储过程 删除存储过程 首发日期:2018- ...

  6. 创建mysql代码实例_MySQL筹建系列之多实例_mysql

    mysql搭建系列之多实例 所谓多实例,就是在一台服务器上搭建.运行多个MySQL实例,每个实例使用不同的服务端口,通过不同的socket监听:物理上,每个实例拥有独立的参数配置文件及数据库. 通常情 ...

  7. systemctl与mysql多实例_mysql mariadb 多版本多实例 开机启动

    ----mysql多实例开机启动及加入服务-------– 将脚本cp到init.d目录 cd /usr/mysqlsoft5.6.38_3346/support-files/ [root@mysql ...

  8. mysql rpm 安装多实例_MySQL搭建系列之多实例

    所谓多实例.就是在一台server上搭建.执行多个MySQL实例,每一个实例使用不同的服务port.通过不同的socket监听:物理上,每一个实例拥有独立的參数配置文件及数据库. 通常情况下.一台se ...

  9. mysql 存储引擎作用_MySQL常用存储引擎功能与用法详解

    MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB.BDB. 2. 非事务安全表:MyISAM.MEMORY.MERGE.EXAMPLE.NDB Cluster.ARCHIVE.CSV. ...

  10. mysql transaction用法,mysql的事务,隔离级别和锁用法实例分析

    本文实例讲述了mysql的事务,隔离级别和锁用法.分享给大家供大家参考,具体如下: 事务就是一组一起成功或一起失败的sql语句.事务还应该具备,原子性,一致性,隔离性和持久性. 一.事务的基本要素 ( ...

最新文章

  1. redis cluster 添加 删除 重分配 节点
  2. Kali Linux安装Google中文输入法(只需5步)
  3. android service使用handle,android中对Looper、HandlerThread、IntentService的理解及使用方法...
  4. centos nginx不是命令_虚拟机下Centos 8.0 安装PHP+Mysql+Nginx
  5. postfix过滤器名称不一致导致postfix/qmg:warning: connect to transport xxxx: No such file or directory...
  6. linux 安装swoole
  7. 指定复制的数据库或者表
  8. Laravel 5 测试用例 记录
  9. 引用的一个JS组件,JCombo 0.9
  10. jquery-ui 对话框_jQuery UI对话框插件
  11. Effective Objective-C 的读书笔记
  12. git push 忽略.idea文件夹下的文件
  13. 七种方法完美解救你爆满的C盘(瘦身+扩容)
  14. 善用PPT背景填充,让模板变得耳目一新
  15. Scene Detection
  16. 开源公告|微信云端深度学习推理框架WeChat TFCC开源啦!
  17. iOS load和initialize方法详解
  18. 商业智能bi是什么意思?
  19. CarSim仿真快速入门(七)—车辆参数化建模
  20. 【电脑自动关机】开机后Mysql再也启动不起来了。问题解决

热门文章

  1. asp.net 4高级程序设计( 第4版)文摘
  2. 沈熙-JavaScript引擎原理及优化
  3. 类文件Android 代码混淆 以及 反编译 的实现类文件
  4. OpenSTA —— 高效的 web 性能测试工具
  5. 42.验证和授权(2)
  6. php如何获取li标签中的值,多个 (li) 标签如何获取获取选中的里面的某个特定值??...
  7. css3中transform-style的用法
  8. CTS,CLS,CLR解释
  9. 【十次方基础教程(后台)】Dockerfile脚本完成镜像的构建
  10. 什么是闭包?闭包有什么用?闭包咋写啊?这是一篇介绍js闭包的博客