mysql存储过程----临时表 temporary
2024-08-25 19:30:02
在存储过程中可以使用临时表,下面有一个分割字符串的例子
语法
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
最新文章
- GitHub实战系列~4.把github里面的库克隆到指定目录+日常使用 2015-12-11
- 解决xcode8模拟器不能删除应用的问题
- C++标准库:std_map作为一个关联数组
- ubuntu安装使用GitHub--PC端
- SQL多表联查
- 20145213《Java程序设计》第八周学习笔记
- FlipView 索引为0 WP8.1
- VS快速格式化代码
- Spring的事件和监听器
- WebDriver一些常见问题的解决方法【转】
- JVM学习笔记(一)------基本结构【转】
- Til the Cows Come Home(poj 2387 Dijkstra算法(单源最短路径))
- java 的 (PO,VO,TO,BO,DAO,POJO) 解释
- js高程笔记1-3章
- dubbo/dubbox部署资料收集
- HP平台由于变量声明冲突导致程序退出时的core
- HDU1878欧拉回路
- mysql--外键(froeign key)
- ocx控件避免弹出警告的类--2
- Json作为配置文件注意事项
热门文章
- tensorflow2:tf.app.run()
- Silverlight 控件
- 前端复制粘贴clipBoard.js的使用
- 如何解压POSIX tar archive文件
- VirtualBox中安装CentOS-7问题说明
- 9个绚丽多彩的HTML5进度条动画赏析
- 基于jQuery图片自适应排列显示代码
- [EF] 如何在 Entity Framework 中以手动方式设定 Code First 的 Migration 作业
- 基于jquery多种切换效果的焦点图(兼容ie6)
- java好用的邮件发送