【问题标题】:mysql: Can I use an Case Expression to execute other statements?mysql:我可以使用案例表达式来执行其他语句吗?
【发布时间】:2020-08-29 21:25:57
【问题描述】:
SET @Count = '2';
SELECT CASE @Count
WHEN 1 THEN INSERT INTO customer (First_Name) VALUES (John)
WHEN 2 THEN INSERT INTO customer (First_Name) VALUES (Mary)
ELSE INSERT INTO customer (First_Name) VALUES (Ray)
END;
--这是一个 mysql case 表达式。我可以用它来执行像这样的其他mysql语句吗?实际上是想根据@count的值执行一段语句
【问题讨论】:
标签:
mysql
sql
stored-procedures
case
sql-insert
【解决方案1】:
您可以在单个语句中移动逻辑:
insert into customer(firstname)
select case @Count
when 1 then 'John'
when 2 then 'Mary'
else 'Ray'
end
或者,您想要a case statement 而不是case 表达式:
case @Count
when 1 then insert into customer(firstname) values('John');
when 2 then insert into customer(firstname) values('Mary');
else insert into customer(firstname) values('Ray');
end case;