mysql中拼接申请类语句并执行
2017-08-30 14:44
204 查看
背景:今天在写一个存储过程里面的一个更新语句时,其表名是需要是一个变量。那么,我们就不能直接定义一个变量然后update了,这个时候正确的做法就是,拼接sql语句然后
执行它。
不多说,直接上sql语句
CREATE DEFINER=`root`@`%` PROCEDURE `fun_me_part_empConfirm`(pUserId int,params varchar(5000),out rlt varchar(800))
BEGIN
-- 手机版员工确认后状态写入
declare vEmpConfirmTable varchar(45);
declare vEmpNo,vEmpId,vId int(11);
declare sq varchar(200);
-- set vEmpConfirmTable = params->'$.empConfirmTable';
set vEmpConfirmTable= _fnJsonStr(params,'empConfirmTable');
set vEmpNo = params->'$.empNo';
set vId = params->'$.id';
select id into vEmpId from hremp where empNo = vEmpNo;
set sq = concat('update ',vEmpConfirmTable,' set empConfirmState =1 where id =',vId,';');
call _sys_execSQL(sq);
set rlt= concat('{"success":true,"msg":""}');
END
执行它。
不多说,直接上sql语句
CREATE DEFINER=`root`@`%` PROCEDURE `fun_me_part_empConfirm`(pUserId int,params varchar(5000),out rlt varchar(800))
BEGIN
-- 手机版员工确认后状态写入
declare vEmpConfirmTable varchar(45);
declare vEmpNo,vEmpId,vId int(11);
declare sq varchar(200);
-- set vEmpConfirmTable = params->'$.empConfirmTable';
set vEmpConfirmTable= _fnJsonStr(params,'empConfirmTable');
set vEmpNo = params->'$.empNo';
set vId = params->'$.id';
select id into vEmpId from hremp where empNo = vEmpNo;
set sq = concat('update ',vEmpConfirmTable,' set empConfirmState =1 where id =',vId,';');
call _sys_execSQL(sq);
set rlt= concat('{"success":true,"msg":""}');
END
相关文章推荐
- MySQL中limit使用动态参数的解决方法(拼接SQL字符串语句来执行SQL)
- MySQL存储过程执行拼接语句
- MySQL执行拼接字符串语句实例
- 批量执行Sql语句,MySQL存储过程Java复现
- C#中使用MySqlCommand执行插入语句后获取该数据主键id值的方法
- 3.笔记 MySQL学习——简单执行SQL语句
- mysql用游标执行动态语句
- MYSQL存储过程<二>:执行用字符串拼成的sql语句 3ff8
- MySQL常用执行语句
- 代码中执行sql语句访问mysql,无法匹配中文字符的问题
- mysql查看sql语句执行时间
- MySQL的语句执行顺序
- 在SHELL中执行MYSQL语句
- mybatis搜不到,把sql语句放到mysql当中执行确正常
- 详解MySQL查询语句执行过程1
- BareTail工具查看Mysql实时执行的Sql语句
- mysql怎么创建可以定时执行任务的过程语句存储过程定时执行sql
- java后台的mysql执行语句
- MySQL存储过程详解 mysql 存储过程mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored
- Linux下C语言执行MySQL语句