mysql中拼接申请类语句并执行

来源:互联网 发布:易语言图片处理源码 编辑:程序博客网 时间:2024/06/05 17:11

背景:今天在写一个存储过程里面的一个更新语句时,其表名是需要是一个变量。那么,我们就不能直接定义一个变量然后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

原创粉丝点击