在mysql case语句中使用like pattern和两个不同的表

我有一个名字表(
names
)。我有另一个持有ID(
user
)。 我有一个条件构造 - 一个case-when语句,如果names表中的名称与某个条件匹配,则应该在用户表中插入一个id。 我用
like %
来匹配字符串模式:
delimiter //
create procedure name_matching (in names.name varchar, out id int) 
begin  
  case 
    when names.name like 's%_%a' then
      insert into user (id) values ('1'); 
    else
      insert into user (id) values ('2'); 
  end case  
end//
这会在mysql终端上输出错误1064。 有没有办法以不同的方式做到这一点?     
已邀请:
您的手术有一些小问题。在
end case
之后你需要一个分号,你需要在输入参数列表中为
varchar
指定一个字段大小,等等。以下对MySQL 5.1有用(“工作”意思是:创建程序时不会产生错误):
delimiter $$
create procedure name_matching (in name varchar(500)) 
begin
  case
    when name like 's%_%a' then
      insert into user (id) values (1); 
    else
      insert into user (id) values (2); 
  end case;
end $$
    

要回复问题请先登录注册