如果先前查询不为空,则MySQL运行查询

时间:2019-05-22 17:14:39

标签: mysql if-statement stored-procedures

我正在尝试运行两个查询,其中仅当第一个不为null时,第二个查询才会运行。像这样:

    if((select * from abc where id =1)!=null)
      select * from cde
    else exit;

执行此类操作的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

使用存在条件

仅当select 1 from abc where id =1返回至少一条记录select * from cde时才会执行

 select * from cde
    where exists (select 1 from abc where id =1 )

如果您需要执行其他语句,则可以使用以下命令

  if exits (SELECT 1 from abc where id =1) then
   --  select a into var_x from cde...
   --  upddate ...
 else
   --  
 end if;