【问题标题】: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;
    

    【讨论】:

      猜你喜欢
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 2011-11-28
      • 2011-05-31
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多