zoukankan      html  css  js  c++  java
  • mysql 字符串分割 和 动态执行拼接sql

    本人以前主要用的是MSSQL,最近项目在使用MYSQL,自己是一个 典型的小白。今天就记录一下 一个mysql存储过程,里面需要分割字符串和 动态执行sql语句。

    关于字符串 分割我开始使用 LOCATE 和Position来做,不知道在proc 里面有时候报错,单独的查询有可以。后来在网上 找了一个 Mysql存储过程中字符串分割文章, 很多地方都推荐使用  SET @result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(plate_sku_name,',',i)),',',1));   

    至于执行sql 则需要  PREPARE sql1 FROM @sql1;  EXECUTE sql1;   感觉也比MSSQL复杂。

    DELIMITER $$   
      
    DROP PROCEDURE IF EXISTS simple_while$$   
      
    CREATE PROCEDURE simple_while(IN period_no VARCHAR(7), IN all_test_id TEXT, OUT return_count INT)  
    BEGIN   
      SET return_count=0;
      SET @i=0;
      SET @arraylength=1+(LENGTH(all_test_id) - LENGTH(REPLACE(all_test_id,',','')));  
        WHILE @i<@arraylength  
            DO  
            SET @i=@i+1;  
            SET @result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(all_test_id,',',@i)),',',1));   
            SET @sql=CONCAT('Update test_',period_no,' Set is_cancel = 1 WHERE all_test_id = ',@result);
           PREPARE sql1 FROM @sql;  
           EXECUTE sql1;  
           SET return_count=return_count+ ROW_COUNT();
        END WHILE;    
          
    END$$
      
    DELIMITER ;
  • 相关阅读:
    关于Intent
    k8s常用命令
    kube-ui安装
    配置k8s dns
    centos 7 部署k8s集群
    多进程multiprocessing模块
    queue
    github安装k8s
    错误: No API token found for service account "default",
    线程
  • 原文地址:https://www.cnblogs.com/majiang/p/6546975.html
Copyright © 2011-2022 走看看