mysql之存储过程(一)
今天开发一个需求,需要在一个旧表中增加一列并且对已经的表中记录初始化新列的值,
由于是一次性的工作,故写了个存储过程来代替代码程序初始化
创建及执行过程记录如下:
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等客户端工具生成调试,然后把调试好的存储过程脚本,在生产环境中重写一下就好。
最新文章
- DataGridView 在下拉框添加下来事件
- .net与mono的那些事
- 深入理解KMP算法
- “康园圈--互联网+校园平台“项目之Sprint3
- 扩展Date的format方法--格式化日期时间
- GridView 分页方法
- root密码
- 【SGU 390】Tickets (数位DP)
- 根据文件夹的GUid找到该文件夹
- HEX转BIN源码分析(51系列)
- POJ 3678 Katu Puzzle(2 - SAT) - from lanshui_Yang
- 【JMeter】选项-函数助手对话框应用举例
- /etc/nginx/nginx.conf配置文件详解
- LVM 磁盘分区扩容
- npm 更新版本
- 4.91Python数据类型之(6)元组
- 选中TreeView的某节点,并加背景颜色
- 【JDBC&;Dbutils】JDBC&;JDBC连接池&;DBUtils使用方法(重要)
- ajax的get,post ,封装
- PHP array_multisort()函数超详细理解
热门文章
- Linux学习20200215
- 遍历数组提取List[Int]
- 利用mysecureshell搭建sftp服务
- Python中Opencv和PIL.Image读取图片的差异对比
- 开源PLM软件Aras详解七 在Aras的Method中如何引用外部DLL
- keras_yolo3程序框架理解
- IDA解析so文件异常(Binary data is incorrect maximum possible value is xx)
- java基础-泛型的优点
- 干货 | 玩转云文件存储——利用CFS实现web应用的共享访问
- 吴裕雄--天生自然Linux操作系统:Linux 安装