是否可以在单个mySQL IF案例中进行多重检查?

时间:2016-04-13 12:11:17

标签: mysql

我想编写一个查询来验证一行的8个参数与传递给过程的参数是否相同。如果其中任何一个不同,则修改状态,否则不执行任何操作。

有没有办法可以在一个IF情况下检查所有这些参数?例如:

IF (v_duty <> duty) OR (v_current <> current) OR (v_frequency <> frequency) THEN

    * UPDATE ......;

END IF

或者我必须为我想要进行的每次比较使用ELSE IF吗?

上述不起作用,每次测试之间有或没有括号。

1 个答案:

答案 0 :(得分:2)

您可以使用简单的UPDATE和WHERE条件来管理它:

UPDATE table_name 
   SET status_column = 'new_status'
 WHERE identifying_column = :identifier
   AND (
           v_duty != :v_duty
        OR v_current != :current
        OR v_frequency != :frequency
       )