今天开发一个需求,需要在一个旧表中增加一列并且对已经的表中记录初始化新列的值,

由于是一次性的工作,故写了个存储过程来代替代码程序初始化

创建及执行过程记录如下:

MySQL [XXX_YYY]> delimiter $$

MySQL [XXX_YYY]>CREATE  PROCEDURE `updateShopIXXXXXSkuIdV2`()
   ->  BEGIN
   ->   #Routine body goes here...
   ->  declare i int;
   ->  set i=0;
   ->   set @sum=(select count(1) from shopxxx_info where xx_sku_id is null and yn = 1);
   ->  set @log = "log query ....";
   ->   select CONCAT(@log,@sum," 条");
 
    ->  while i<@sum do
    ->   set @itemId =( select item_id from shopxxx_info where xx_sku_id is null and yn = 1 limit i,1);

->    set @jdSkuId =( select jd_sku_id from item_yyyy_table where item_id = @itemId  limit 1);
    ->    #set @itemId = 4499991;
    ->    #set @xxSkuId =29825634;
    ->    #select @itemId ,  @jdSkuId;
    ->    if @itemId is NULL THEN
    ->     select @itemId ;
    ->    elseif @xxSkuId is NULL THEN
    ->     select @xxSkuId;
    ->    else
    ->       update shopxxxx_info set xx_sku_id = @xxSkuId ,modified = now() where item_id = @itemId and yn = 1;
    ->    end if;
    ->       set i=i+1;
    ->    end while;
    ->  
    -> END$$
Query OK, 0 rows affected (0.01 sec)

MySQL [XXX_YYY]> call updateShopIXXXXXSkuIdV2()$$
+--------------------------+
| CONCAT(@log,@sum," 条")  |
+--------------------------+
| log query ....126 条     |
+--------------------------+
MySQL [XXX_YYY]> delimiter ;

ps:创建存储过程可以用navicate等客户端工具生成调试,然后把调试好的存储过程脚本,在生产环境中重写一下就好。

最新文章

  1. DataGridView 在下拉框添加下来事件
  2. .net与mono的那些事
  3. 深入理解KMP算法
  4. “康园圈--互联网+校园平台“项目之Sprint3
  5. 扩展Date的format方法--格式化日期时间
  6. GridView 分页方法
  7. root密码
  8. 【SGU 390】Tickets (数位DP)
  9. 根据文件夹的GUid找到该文件夹
  10. HEX转BIN源码分析(51系列)
  11. POJ 3678 Katu Puzzle(2 - SAT) - from lanshui_Yang
  12. 【JMeter】选项-函数助手对话框应用举例
  13. /etc/nginx/nginx.conf配置文件详解
  14. LVM 磁盘分区扩容
  15. npm 更新版本
  16. 4.91Python数据类型之(6)元组
  17. 选中TreeView的某节点,并加背景颜色
  18. 【JDBC&amp;Dbutils】JDBC&amp;JDBC连接池&amp;DBUtils使用方法(重要)
  19. ajax的get,post ,封装
  20. PHP array_multisort()函数超详细理解

热门文章

  1. Linux学习20200215
  2. 遍历数组提取List[Int]
  3. 利用mysecureshell搭建sftp服务
  4. Python中Opencv和PIL.Image读取图片的差异对比
  5. 开源PLM软件Aras详解七 在Aras的Method中如何引用外部DLL
  6. keras_yolo3程序框架理解
  7. IDA解析so文件异常(Binary data is incorrect maximum possible value is xx)
  8. java基础-泛型的优点
  9. 干货 | 玩转云文件存储——利用CFS实现web应用的共享访问
  10. 吴裕雄--天生自然Linux操作系统:Linux 安装