【问题标题】:Conditional statement on MySQLMySQL上的条件语句
【发布时间】:2014-01-03 14:41:48
【问题描述】:

我想做类似的事情

IF (EXISTS (select * from Table1 where <Condition>))
{
    INSERT INTO Table2 ...
}
ELSE
{
    INSERT INTO Table3...
    <Do some more manipulations>
}

AFAIK 我只能将IF 用作语句的一部分。

有办法吗?

谢谢,

==编辑 1==
我想将此逻辑作为存储过程的一部分。

【问题讨论】:

  • 你想要这个语句在过程还是触发器中?

标签: mysql stored-procedures if-statement conditional-statements exists


【解决方案1】:

试试这个:

IF EXISTS (SELECT * FROM Table1 WHERE <CONDITION>) THEN 
BEGIN
    INSERT INTO Table2 ...
END
ELSE
BEGIN
    INSERT INTO Table3...
    <DO SOME more manipulations>
END
END IF

MySQL

中检查 IF Statement

【讨论】:

    【解决方案2】:

    唯一的方法是调用存储过程。

    使用存储过程,可以定义变量、检查多个条件、执行多个语句等
    但是,最多只使用IFEXISTSELSE 就可以直接执行2 条语句。

    参考文献MySQL: CREATE PROCEDURE Syntax

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 2012-08-17
      • 2014-06-19
      • 1970-01-01
      • 2012-07-16
      相关资源
      最近更新 更多