create procedure sp_search_employee3(in p_depart int)
begin
declare tmp char(4);
case p_depart
when 1 then
set tmp = '研究部';
when 2 then
set tmp = 'IT部';
else
set tmp = '经理部';
end case;
select fname,lname from employee where depart = tmp;
end
//
call sp_search_employee3(1);
查询结果为空
select fname,lname from employee where depart = concat(tmp);
也没有结果
直接查询
select fname,lname from employee where depart = '研究部';
有两条结果
mysql 存储过程 局部变量赋值给where 查询无结果 数据库有值
答案:2 悬赏:20 手机版
解决时间 2021-03-15 11:12
- 提问者网友:贪了杯
- 2021-03-14 18:27
最佳答案
- 五星知识达人网友:轻熟杀无赦
- 2021-03-14 19:49
字段加上表名:
select `fname`,`lname` from `employee` where `employee`.`depart` = tmp;
select `fname`,`lname` from `employee` where `employee`.`depart` = tmp;
全部回答
- 1楼网友:逐風
- 2021-03-14 20:48
用代码从db读出来,然后根据类型赋值就行了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯