mysql fetch next from_MySql 存储过程 动态sql
将从表中查出的数据作为表名,对其进行操作
根据查出来的表名,将该表的数据全部插入到一个总表
CREATE DEFINER=`root`@`%` PROCEDURE `InsertIntoBrief`()
BEGIN
DECLARE table_name varchar(64);
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
DECLARE cur_table CURSOR FOR select table_id from yp_table_mapping;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
truncate yp_brief;
OPEN cur_table;
-- 开始遍历
read_loop: LOOP
-- 赋值
FETCH NEXT from cur_table INTO table_name;
IF done THEN
LEAVE read_loop;
END IF;
set @s = concat("insert into yp_brief select * from ",table_name);
PREPARE s from @s;
EXECUTE s;
END LOOP;
CLOSE cur_table;
END
遍历所有表,判断是否存在某个字段,存在则修改该字段属性
CREATE DEFINER=`root`@`%` PROCEDURE `changeColumnName`()
BEGIN
DECLARE table_name varchar(64);
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE cur_table CURSOR FOR select table_id from yp_table_mapping;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
TRUNCATE yp_brief;
-- 打开游标
OPEN cur_table;
read_loop: LOOP
FETCH NEXT from cur_table INTO table_name;
IF done THEN
LEAVE read_loop;
END IF;
if EXISTS(SELECT * FROM information_schema.columns WHERE table_schema = 'database_name' AND table_name = table_name AND column_name = 'a') then
-- 修改字段名称
set @s = concat("ALTER TABLE ",table_name," CHANGE a b varchar(255)");
PREPARE s from @s;
EXECUTE s;
END IF;
END LOOP;
CLOSE cur_table;
END
mysql fetch next from_MySql 存储过程 动态sql相关推荐
- mysql存储过程动态sql
mysql存储过程中,变量直接拼接在执行sql上会把变量解析成 '变量执行',比如: DECLARE v_condition VARCHAR(4) DEFAULT 'id=1'; select * f ...
- mysql防注入pdo_mysql PDO和存储过程动态SQL注入
正如我在许多文章中看到的那样,存储过程中的动态SQL容易受到SQL注入的攻击.但是,如果我们将先前的PDO与准备好的语句一起使用,这仍然不安全吗? 例: CREATE PROCEDURE my_sp( ...
- oracle 动态声明变量_oracle存储过程动态sql变量赋值
如何动态执行存储过程或函数 目前在Oracle数据库存储过程研发过程中,遇到需要从某张表中读取存储过程名并进行动态执行的情况,经查找资料,制作成DEMO,并通过测试,现共享下,以备其他同事遇到此种情况 ...
- oracle创建存储过程动态sql,Oracle存储过程使用动态SQL
Oracle存储过程使用动态SQL 有两种写法:用 DBMS_SQL 或 execute immediate,建议使用后者.试验步骤如下: 1:DDL和DML /*** DDL ***/ begin ...
- oracle存储过程动态sql单引号拼接和变量拼接
1.单引号的作用 在oracle中单引号主要有两个作用: 一是字符串都用单引号引用,例如'abc':二是转义符,转义符在使用时一般会出现多个连在一起的单引号,相对难理解一些.下面举例说明. 实例1:s ...
- oracle存储过程动态SQL中引号的使用
写存储过程时,引号是一个永远避不开的祸,如果只是单个引号的话很好用,比如向表中插入数据, 1.直接插(字符型加上引号就行) INSERT INTO DEPT (DEPTNO,DNAME,LOC) VA ...
- mysql二级缓存,mybatis的动态sql和二级缓存
mybatis的#{}和${}的区别就像是 PreparedStatement 和statement , 使用${}接收的参数还需用@Param注解修饰 , 推荐用#{} 动态SQL MyBatis ...
- 取第N个排序的元素之Mysql存储过程动态SQL order by offset实现案例
Mysql 动态取第N个元素 简介 基于mysql实现对某个表的某个字段按照顺(逆)序取第N个排序对应的元素,该语句通过存储过程结合预处理实现,也可在程序语言里通过SQL拼接实现. 示例 --1存储过 ...
- mysql存储过参数拼接_mysql 存储过程动态拼接sql并执行赋值
CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(in _xnb varchar(50)) BEGIN ## 定义变量 DECLARE _num FL ...
最新文章
- bootstarp js设置列隐藏_隐藏工作表的行、列(第一种简单,第二种很坑,第三种最坑)...
- linux内核之旅ppt_微软Windows 10防病毒现已可用Linux上
- XML Schema是什么
- java统计系统线程数_Java并发(八)计算线程池最佳线程数
- php 规则配置,模块Config配置规则
- 微信支付之JSAPI开发-第二篇:业务流程详解与方案设计
- 关于java方向的思考
- 如何在工具类中注入Service
- 7个必收藏的免商用无版权的高清图片网站
- 2017年大数据会是广告市场最后一根救命草吗?
- 第44件事 用户运营的5个关键环节
- 新概念英语第四册41-48课(转)
- 戴老师论文阅读:Two-Timescale Channel Estimation for Reconfigurable Intelligent Surface Aided Wireless...
- PSINS工具箱15状态组合导航仿真程序(test_SINS_GPS_153)浅析-卡尔曼滤波设置+导航解算
- 原创 【我的OpenGL学习进阶之旅】介绍一下OpenGL ES的 遮挡查询
- python爬虫之爬取知乎发现
- ulua中lua代码使用反射调用c#详解
- 个人对银行知识的几点认识和理解
- 【高速数字化仪应用案例系列】虹科Spectrum在天文领域的应用
- 中国慕课行业建设分析与十四五发展模式调研报告2022版
热门文章
- RxJs SwitchMapTo 操作符之移花接木
- 一小时内在本地搭建 SAP Commerce Cloud(电商云)的前后台运行环境
- SAP Spartacus 服务器端渲染编程规范
- 一个讨论:SAP项目实施的顾问,需要花时间去调试代码了解技术细节吗
- Scala里List(1,2,3)和(1,2,3)的区别
- resolveType - when is date type for DateFormat used when initialization
- 如何找出Fiori frontend server的systen ID
- 使用SAP Leonardo上的机器学习服务提取图片的特征向量
- 使用await和async关键字开发nodejs应用批量取出简书网站的文章标题和超链接
- Authorization object的where used列表功能,位于事务码SUIM