【问题标题】:in sqlite update trigger with multiple if/Case Conditions在具有多个 if/Case 条件的 sqlite 更新触发器中
【发布时间】:2018-01-10 13:01:22
【问题描述】:

在触发器中如何获得多个条件检查

CREATE TRIGGER record_big_order AFTER INSERT ON orders 
BEGIN 
IF new.value > 1000000 THEN 
  INSERT INTO big_orders (customer_name, salesman_id, value,Mark) 
                  VALUES (new.customer_name, new.salesman_id, new.value,'1') 
END IF; 
IF new.value > 2000000 THEN 
  INSERT INTO big_orders (customer_name, salesman_id, value,Mark) 
                  VALUES (new.customer_name, new.salesman_id, new.value,'2') 
END IF; 
IF new.value > 3000000 THEN 
  INSERT INTO big_orders (customer_name, salesman_id, value,Mark) 
                  VALUES (new.customer_name, new.salesman_id, new.value,'3')
END IF; 
END;

【问题讨论】:

    标签: sqlite if-statement triggers switch-statement case


    【解决方案1】:

    你可以试试下面的 INSERT 语句 -

    INSERT INTO big_orders (customer_name, salesman_id, value,Mark) 
    VALUES (new.customer_name, new.salesman_id, new.value,
            CASE WHEN new.value > 3000000 THEN '3'
                 WHEN new.value > 2000000 THEN '2'
                 WHEN new.value > 1000000 THEN '1' END) 
    

    【讨论】:

      猜你喜欢
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 2017-03-13
      • 1970-01-01
      • 2020-12-31
      • 2017-11-30
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多