优雅转身

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  65 随笔 :: 0 文章 :: 25 评论 :: 34万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
复制代码
CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProc`()
BEGIN
    #Routine body goes here...
        DECLARE  itemId varchar(64);   -- id
        DECLARE  AA varchar(64);   -- 省
    DECLARE  BB  varchar(64); -- 市
    DECLARE  CC  varchar(64); -- 区
        DECLARE  new_province varchar(64);   -- 省
    DECLARE  new_city  varchar(64); -- 市
    DECLARE  new_area  varchar(64); ---- 遍历数据结束标志
    DECLARE done INT DEFAULT FALSE;
    -- 游标
    DECLARE cur_account CURSOR FOR select id,province,city,area from startup_project_copy;
    -- 将结束标志绑定到游标
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
    
    -- 打开游标
    OPEN  cur_account;     
    -- 遍历
    read_loop: LOOP
            -- 取值 取多个字段
        FETCH  NEXT from cur_account INTO itemId,AA,BB,CC;

            IF done THEN
                LEAVE read_loop;
            END IF;
                SET new_province = (SELECT Impcode FROM sys_area WHERE AreaID = AA);
                SET new_city = (SELECT Impcode FROM sys_area WHERE AreaID = BB);
                SET new_area = (SELECT Impcode FROM sys_area WHERE AreaID = CC);
-- 你自己想做的操作
                --                  INSERT INTO test_city VALUE(new_province, new_city, new_area, itemId);
                 -- 执行更新
                 UPDATE startup_project_copy SET province = new_province, city= CONCAT(new_city,'000000'), area = CONCAT(new_area,'000000') WHERE id = itemId;
--                  SET @UPDATE = CONCAT('UPDATE startup_project_copy SET province =', new_province,', city=', new_city, ', area =', new_area, ' WHERE id = ',id);
--                 PREPARE stm FROM @UPDATE;
--                 EXECUTE stm;
--                 DEALLOCATE PREPARE stm;
                 COMMIT;-- 提交
    END LOOP;
 
    CLOSE cur_account;
    

END
复制代码

 

posted on   优雅转身  阅读(2245)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示