MySql 存储过程 表名作为动态参数传入

MySql 存储过程 表名作为动态参数传入

DROP PROCEDURE IF EXISTS info_bak;
CREATE PROCEDURE info_bak(IN talbeName VARCHAR(30), OUT retMsg VARCHAR(30))
BEGIN
	DECLARE v_err INT DEFAULT 0;
	DECLARE v_msg VARCHAR(30);
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_err  = 1;
	DECLARE CONTINUE HANDLER FOR SQLWARNING SET v_err = 2;
	DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET v_err = 3;
	SET @sqlcmd = CONCAT('REPLACE INTO infobak SELECT * FROM ',talbeName,' ;');
	PREPARE stmt FROM @sqlcmd;
	EXECUTE stmt;
	DEALLOCATE PREPARE stmt;
	IF v_err = 1 THEN
		SET v_msg = "Not Found";
	ELSEIF v_err = 2 THEN
		SET v_msg = "Warning";
	ELSEIF v_err = 3 THEN
		SET v_msg = "Error";
	ELSE 
		SET v_msg = "OK";
	END IF;
	COMMIT;
	SET retMsg = v_msg;
END;

CALL info_bak('info', @msg);
SELECT @msg;

 

Mybatis 将table表名作为参数传入 使用 $ 符 如在mapper.xml里面的使用: 在mapper层就把这个表名当做普通的参数传入即可: 同理,其实如果真的使用了$ ,在不考虑安全的范畴里面,也可以把一些手动拼接的sql语句作为参数传入。 ... 阅读详情

相关推荐

【COMSOL】修改内置物理场方程 模拟水沸腾的蒸汽泡运动

在COMSOL中通过弱贡献(weak contribution)节点,可以向任何内置模型方程中添加约束。这里,以模拟水沸腾的蒸汽泡运动为例,来讲一讲当我们研究的方程与模块方程不一样时,应该怎么增加新的贡献项。

u012161192的博客 9013

c mysql异常处理_mysql 存储过程异常处理

当insert失败时,我希望将其记录在日志文件中,在这里需要创建一个主键表,以及一个外键表,我们使用的是Innodb ,因此外键关联检查是打开的,当我向外键表中插入非主键表中的值时,动作将会失败,创建的数据表如下:create table t2(s1 int primary key)engine=innodb;//create table t3(s1 int,key(s1),foreign key...

weixin_32807903的博客 269

别再只用相机标定了!手把手教你用OpenCV和Python搞定投影仪标定(附完整代码)

本文详细介绍了如何使用Python和OpenCV实现投影仪标定,特别针对结构光三维扫描中的核心问题。通过低成本替代方案和优化算法,解决投影仪标定中的非线性畸变和亮度-距离耦合效应,显著提升三维重建精度。附完整代码和实战技巧,帮助开发者快速掌握关键技术。

weixin_29274337的博客 544

MySQL之存储过程及函数的使用

MySQL之存储过程及函数的使用 4、存储过程和函数 4.1 存储过程和函数概述 存储过程和函数是 事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的 函数:是一个有返回值的过程; 过程:是一个没有返回值的函数; 4.2 创建存储过程 create procedure procedure_name([proc_parameter[,...]]) begin -- sql语句 end

kehonghg的博客 415

中山大学_数据科学与计算机_预推免

前言 2019 年 9 月中旬是中山大学预推免时间,本人没能进到夏令营,但是最后在预推免上岸也算不幸中的万幸。 记忆不一定准确,但希望能帮到他人。 想看 流程 的可以直接看总结,正文部分有本人心路历程。 预推免 中山大学的预推免大致可以分为 报道,机试,面试 三大部分,而且尤其是面试,所有人加起来总时长 3 天,幸运的是,本人被安排在第一天的下午第一场,上午就是机试,报道,机试,面试,无缝衔接。 ...

一把健 5210

基于知识图谱的时空事件关联推理能力培养

随着信息技术的飞速发展,大量的时空事件数据被产生和收集,如交通流量数据、气象观测数据、社交媒体上的地理定位信息等。这些数据蕴含着丰富的知识和规律,但要从中提取有价值的信息并非易事。基于知识图谱的时空事件关联推理旨在通过构建知识图谱,将时空事件数据进行整合和关联,从而实现对事件之间潜在关系的挖掘和推理。本文的目的是系统地介绍基于知识图谱的时空事件关联推理能力的培养方法,包括核心概念、算法原理、数学模型、实际应用等方面。

操作系统内核探秘的博客 752

mysql使用存储过程创建动态表名及参数处理

关于mysql的存储如何创建和使用:点击这里存储过程创建与使用有说明 直接上干货,我这里直接使用的是带有参数的创建 SQL如下: DELIMITER $ CREATE PROCEDURE spatialStored(IN years VARCHAR(32)) BEGIN -- 创建动态表,获取当前日期 SET @sql_create_table = CONCAT( 'CREATE TABLE IF NOT EXISTS sx_test_a', DATE_FORMAT(CURDATE(),'%Y_%c')

qq_45752401的博客 4910

项目经理必看:如何建立高效的相关方沟通机制?

你是否遇到过这样的场景?客户突然说“这不是我要的”,开发团队抱怨“需求总变”,高层追问“进度滞后为什么不早说”?这些问题的根源往往是——相关方沟通机制失效。本文聚焦“如何建立高效沟通机制”,覆盖从识别相关方到持续优化的全流程,适用于IT、产品、工程等各类项目。本文将按“理解问题→拆解核心概念→掌握工具方法→实战落地→未来趋势”的逻辑展开,重点讲解“相关方分析矩阵”“沟通计划表”等实用工具,并用“组织生日派对”的案例贯穿全文,让抽象概念变得可感知。相关方识别:用“权力/利益矩阵”找对人(像派对邀请关键客人)

项目管理的博客 1295

mysql中使用list作为参数进行查询

概要:需要通过两个字段来确定 一条数据,根据查询到的数据进行名字和code 的模糊查询思考:标签可以单条件的查询,不能够满足需求,需要进行sql 的拼接,使用LambdaQueryWrapper进行sql拼接,用到or(),and()方法,但是由于查询是有先后循序的,list查询和模糊查询在用一层,如果只是单纯的使用or ()拼接的话,like模糊查询会失效,需要把list的集合进行list 的包装解决: 打印出来的sql...

伟大是熬出来的 4285

JMeter压力测试全攻略:从入门到精通

本文系统讲解JMeter压力测试的完整流程与结果评估方法。开篇介绍压力测试的核心概念及JMeter工具特性,随后从环境搭建入手,详细说明JDK配置、JMeter安装及中文界面设置。主体部分围绕测试流程展开,涵盖测试计划创建、线程组参数调优、HTTP请求配置、断言与监听器添加等实操步骤;结果评估环节深入解析聚合报告指标、结果树分析及性能瓶颈定位方法,并通过电商接口测试案例演示全流程应用。文末总结关键要点,为读者提供从基础操作到分布式压测、性能调优的进阶学习方向,助力掌握JMeter在系统性能评估中的核心应用。

邓邓子的博客 2416

华为OD机试2025A卷 - 分苹果(Java & Python& JS & C++ & C )

华为OD机试2025A卷 - 分苹果(Java & Python& JS & C++ & C )

算法大师! 721

mysql 动态传入表名 存储过程_MySql 存储过程 表名作为动态参数传入

DROP PROCEDURE IF EXISTS info_bak;CREATE PROCEDURE info_bak(IN talbeName VARCHAR(30), OUT retMsg VARCHAR(30))BEGINDECLARE v_err INT DEFAULT 0;DECLARE v_msg VARCHAR(30);DECLARE CONTINUE HANDLER FOR NOT...

weixin_39843078的博客 225

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Mybatis入门简版(补充)

一、Mybatis 中$与#的区别   #相当于对数据 加上 双引号,$相当于直接显示数据 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2.

一些学习的记录,主要做个人知识总结整理 332

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

从一个问题分析到 mybatis # 与 $ 区别

1、首先要从一个sql查询说起,小编有一个需求,由于数据量比较大,是分表的, 根据不同的输入号码,到不同的表中查询,取编号前两位,就能路由到对应该表; 例如号码 33***********,对应存储数据的表名就是:tableName_33,所以这样表名作为sql动态参数传入, 就是非常方便的; 最开始这么写的: 2、但是运行以后报错了,报错日志粘贴: Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL

小哥骑单车 547

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python文件存储过程_pymysql存储过程代码

import pymysqlconn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='666', db='sqlexample',charset='utf-8')cursor = conn.cursor(cursor=pymsql.cursor.DictCursor)#执行存储过程,获取存储过程的结果集,将...

weixin_39669204的博客 445

MYSQL存储 、创建存储Create、查看存储、更新/修改存储、删除存储 以及实例讲解

1.存储 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。 存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。 创建存储 1)向导创建 选择对应数据库下函数右键新建函数->选择过程->填写输入/输出参数->填写函数体信息->保存->填写函数名 使用SQL创建 语法:

DayDayUp 870

mysql存储过程demo,动态拼接表名、表名作为参数传递,以及通过存储过程自动插入批量测试数据

存储过程很方便,就像写shell脚本一样,可以帮我们把重复的命令总结成一个脚本,不用自己每次都做重复的操作, sql是不可以拼接表名的,有时候写存储过程想把表名作为参数传进来或者在sql中动态拼接表名,这时候可以在存储过程中用concat函数动态拼接我们的sql,在拼接sql的时候拼接表名。用两个demo看代码理解一下。 例1:把表名作为存储过程的参数;例2:以及通过存储过程自动插入批量测试数据

新林的博客 8513

mysql 动态传入表名 存储过程_mysql表名作为参数传入存储过程

有以下存储过程:create definer=`root`@`localhost` procedure `p_hovertreepages`(in `tablename` varchar(200),in `fieldlist` varchar(2000),in `primarykey` varchar(100),in `where` varchar(2000),in `order` varchar...

weixin_33237865的博客 674

mysql存储过程传递字符串参数

存储过程:   create procedure Pro_GetUserInfo(in szEmpName varchar(1000))     -> begin     -> declare strSql varchar(1000);     -> set strSq

学而不思则罔 1万+

mysql 动态传入表名参数的存储过程写法

delimiter // create procedure oneKey(in newName varchar(250),in oldName varchar(250),in idNum INT) BEGIN SET @sqlStmt = CONCAT('insert into ',newName,' (`name`,`age`,`sex`,`major`,`pass`,`photo...

weixin_30845171的博客 902

mysql使用存储过程将一个表中的数据导入另一个表

存储过程 本人也是第一次使用存储过程,中间遇到了很多坑,在此记录一下,希望能帮助使用的人少踩点坑。。 先说一下我使用存储过程的需要,其实需求很简单就是把一个表中的数据导入一个新的表中,并且删除原有表中的数据,说白了就是一个数据的备份 我是使用navicat进行编辑的,我认为用好用的工具就要使用,能省事就省事,毕竟人生时间不多,不要浪费时间在那些无用的事情上。 CREATE DEFINER=...

散步的博客 1万+

MySQL 动态sql语句执行 用时间做表名

1. 描述  在使用数据的时候,我时候我们需要很多数据库,而且想用时间来做表名以区分。但是MySQL在存储过程中不支持使用变量名来做表名或者列名。   比如,有一个表我们想以“2015-07-16 12:00:00”命名。2. 解决方案  如果只是更换一个普通的表名的话,很简单,直接使用下面sql语句即可:   alter table old_table_name rename new_tabl

Jeanphorn的专栏 1万+

mybatis动态调用表名和字段名

     以后慢慢启用个人博客:http://www.yuanrengu.com/index.php/mybatis1021.html   一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能。今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到。这种情况下,就需要构建sql来动态传入表名、字段名了。现在对解...

weixin_34175509的博客 2880
上一篇: Mysql 存储过程 三种循环
下一篇: MySQL 存储过程 可能用到的(SQLSTATE)错误码
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值