在存储过程中可以使用临时表,下面有一个分割字符串的例子

语法

1.创建:create temporary table 表名(列信息);

2.删除:drop table 表名;

3.清空:truncate table 表名;

注意:

1.在mysql中,临时表一但建立,销毁的条件是session中断,所以为了避免创建过程中出现“table 'XX' already exists”的错误,将建表语句改为CREATE TEMPORARY TABLE if not exists 表名(列信息);

2.临时表只有在用户退出连接时(session中断)时,清空数据,不然数据一直累积,若有需求,需要在临时表使用之后清空临时表

例子

一个和java的spilt作用相似存储过程

在存储过程中可以使用临时表,下面有一个分割字符串的例子

语法

1.创建:create temporary table 表名(列信息);

2.删除:drop table 表名;

  3.清空:truncate table 表名;

注意:

1.在mysql中,临时表一但建立,销毁的条件是session中断,所以为了避免创建过程中出现“table 'XX' already exists”的错误,将建表语句改为CREATE TEMPORARY TABLE if not exists 表名(列信息);

2.临时表只有在用户退出连接时(session中断)时,清空数据,不然数据一直累积,若有需求,需要在临时表使用之后清空临时表

例子

一个和java的spilt作用相似存储过程

CREATE DEFINER=`root`@`%` PROCEDURE `str_spilt`(IN `str` varchar(2000))
BEGIN
#分割字符串
set @i=0;
CREATE TEMPORARY TABLE if not exists str_spilt_result(id BIGINT(20) NOT NULL);
truncate table str_spilt_result;
SET @cnt = 1+(LENGTH(str) - LENGTH(REPLACE(str,',','')));
WHILE @i < @cnt DO
SET @i = @i + 1;
SET @result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(str,',',@i)),',',1));
INSERT INTO str_spilt_result(id) VALUES (@result);
END WHILE;
SELECT * from str_spilt_result;
END

最新文章

  1. GitHub实战系列~4.把github里面的库克隆到指定目录+日常使用 2015-12-11
  2. 解决xcode8模拟器不能删除应用的问题
  3. C++标准库:std_map作为一个关联数组
  4. ubuntu安装使用GitHub--PC端
  5. SQL多表联查
  6. 20145213《Java程序设计》第八周学习笔记
  7. FlipView 索引为0 WP8.1
  8. VS快速格式化代码
  9. Spring的事件和监听器
  10. WebDriver一些常见问题的解决方法【转】
  11. JVM学习笔记(一)------基本结构【转】
  12. Til the Cows Come Home(poj 2387 Dijkstra算法(单源最短路径))
  13. java 的 (PO,VO,TO,BO,DAO,POJO) 解释
  14. js高程笔记1-3章
  15. dubbo/dubbox部署资料收集
  16. HP平台由于变量声明冲突导致程序退出时的core
  17. HDU1878欧拉回路
  18. mysql--外键(froeign key)
  19. ocx控件避免弹出警告的类--2
  20. Json作为配置文件注意事项

热门文章

  1. tensorflow2:tf.app.run()
  2. Silverlight 控件
  3. 前端复制粘贴clipBoard.js的使用
  4. 如何解压POSIX tar archive文件
  5. VirtualBox中安装CentOS-7问题说明
  6. 9个绚丽多彩的HTML5进度条动画赏析
  7. 基于jQuery图片自适应排列显示代码
  8. [EF] 如何在 Entity Framework 中以手动方式设定 Code First 的 Migration 作业
  9. 基于jquery多种切换效果的焦点图(兼容ie6)
  10. java好用的邮件发送