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(), IN all_test_id TEXT, OUT return_count INT)
BEGIN
SET return_count=;
SET @i=;
SET @arraylength=+(LENGTH(all_test_id) - LENGTH(REPLACE(all_test_id,',','')));
WHILE @i<@arraylength
DO
SET @i=@i+;
SET @result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(all_test_id,',',@i)),',',));
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 ;
mysql 字符串分割 和 动态执行拼接sql的更多相关文章
- mysql怎么终止当前正在执行的sql语句
mysql怎么终止当前正在执行的sql语句 show processlist; kill 要杀的ID kill 7
- MySQL 字符串 分割 多列
mysql如何进行以,分割的字符串的拆分 - 我有一个梦想 - CSDN博客https://blog.csdn.net/u012009613/article/details/52770567 mysq ...
- mysql字符串分割函数(行转列)
由于工作需要需要处理一些以逗号分隔的字符串,每次都要现做很是麻烦,网上找了很多都没有现成的,好吧,自己动手写一个好了 )) ) BEGIN /*函数功能: 把带逗号的字符串分割取出 参数: num 要 ...
- mysql监控每一条执行的sql语句
查看日志配置是否打开 SHOW VARIABLES LIKE "general_log%"; SET GLOBAL general_log = 'ON'; 打开日志 SET G ...
- MySQL Transaction--查看未提交事务执行的SQL
未提交事务 长期未提交事务,指开启事务后,长时间未向MySQL发出SQL执行请求或事务处理(COMMIT/ROLLBACK)请求,在系统表`information_schema`.`INNODB_TR ...
- mysql function动态执行不同sql语句
create procedure cps() begin ) default 'user'; set strSql = concat('select * from ',table_user); pre ...
- SQL动态语句 拼接SQL 并输入输出值
--动态语句语法 /****************************************************************************************** ...
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作m ...
- mysql字符串分割操作
SELECT '1,2,3,4,5,6,7,8' FROM dual; -- 列转行分割 ),) FROM () a JOIN mysql.help_topic b ); -- 测试 ),) as p ...
随机推荐
- jquery.Inputmask 插件用法(中文API文档)
jquery.Inputmask 可以算是input文本输入限制的神器了,内部融合了多种输入限制, 如金额,电话号码,身份证号,网关等..,并且还可以自定义规则. inputmask 据说最早起源 ...
- Windows系统下oracle数据库每天定时备份
第一步:建立备份脚本oraclebackup.bat 首先建立一个备份bat文件,在D盘下新建备份目录oraclebackup,将oracle安装目录下的EXP.EXE复制到此目录下,再新建一个文本文 ...
- binlog和redo log日志提交
组提交(group commit)是MYSQL处理日志的一种优化方式,主要为了解决写日志时频繁刷磁盘的问题.组提交伴随着MYSQL的发展不断优化,从最初只支持redo log 组提交,到目前5.6官方 ...
- 【读书笔记】《深入浅出Webpack》
Webpack版本 分析版本为3.6.0 4.0为最近升级的版本,与之前版本变化较大,编译输出的文件与3.0版本会不一致,目前项目中使用的版本3.0版本,所以基于3.0版本进行分析学习. Webpac ...
- python全栈开发day40-浮动的四大特性,浮动带来的问题和解决问题,文本属性、字体属性和颜色介绍
一.昨日内容总结 1.盒模型及其属性 2.文本级标签.行内块.块级标签 3.继承性.层叠性.权重 4.浮动四大特性 # 浮动元素脱离标准文档流 # 贴靠 # 字围效果 # 自动收缩或紧缩 二.今日内容 ...
- 6-16 单词 uva10129
了解了欧拉回路和欧拉道路的性质 : 欧拉道路 最多只有两个奇点(不可能只有一个奇点) 并且当有两个奇点的时候 一个奇点入比出多一 一个奇点出比入多一 采用并查集查看是否连同 如果连 ...
- 2.1博客系统 |基于form组件和Ajax实现注册登录
基于forms组件和Ajax实现注册功能 1 基于forms组件设计注册页面 --点击头像 === 点击input --头像预览: 修改用户选中的文件对象:获取文件对象的路径:修改img的src属性, ...
- 002 Spark的编译
一:不编译 1.不编译的做法 在公司里可能需要编译,但是如果为了简单的学习就不必编译,直接在官方下载即可. 截图为: 二:编译\ 1.下载 http://archive.cloudera.com/cd ...
- 【RAY TRACING THE REST OF YOUR LIFE 超详解】 光线追踪 3-3 蒙特卡罗 (三)
开学人倍忙,趁着第二周周末,我们继续图形相关的博客 Preface 今天我们来介绍一些理论方面的东西,为Monte Carlo 应用到我们的光线追踪器做铺垫 我们今天会介绍两章的东西,因为有一章内容 ...
- spring中整合ssm框架注解版
和xml版差不多,只不过创建对象的方式是由spring自动扫描包名,然后命名空间多一行context代码在application.xml中,然后将每个对象通过注解创建和注入: 直接上代码: 1.use ...