【问题标题】:mysql if without selectmysql 如果没有选择
【发布时间】:2015-11-29 07:59:11
【问题描述】:

我正在使用 mysql,我想以您在存储过程中执行的方式使用 if 语句。像这样的:

delimiter $$

  if @myVariable is null then
    drop temporary table tmp_buffer;
    select 'cannot proceed without variable @myVariable';
  else
    update my_table as t
    set t.name = @myVariable;
  end;

end$$

delimiter ;

当我执行这段代码时,它什么也不做。 我试图用谷歌搜索,但我只找到 select if(....) 解释什么不符合我的要求。 我知道可以创建一个存储过程并将代码放在那里然后调用该过程,但我正在寻找一种无需存储过程的方法。 这可能吗?如果是,我的代码有什么问题?

感谢阅读本文

菲利克斯

【问题讨论】:

  • AFAIK,不;你必须把它放在一个存储过程中

标签: mysql if-statement stored-procedures


【解决方案1】:

但我正在寻找一种无需存储过程的方法。这是 可能吗?

没有;正如上面已经评论的那样,您不能像打算在普通 SQL 查询中使用的方式那样使用 if .. else 构造块。您必须将其包装在一个程序块中,该程序块可以是存储过程或函数。

【讨论】:

  • 感谢拉胡尔的回答。我将围绕它包装一个存储过程;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多