您的位置:首页 > 数据库 > MySQL

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: