if (select count(column) from table) > 0 then

前端 未结 2 1092
终归单人心
终归单人心 2020-11-27 21:41

I need to check a condition. i.e:

if (condition)> 0 then
  update table
else do not update
end if

Do I need to store the result into a v

2条回答
  •  爱一瞬间的悲伤
    2020-11-27 21:48

    Edit:

    The oracle tag was not on the question when this answer was offered, and apparently it doesn't work with oracle, but it does work with at least postgres and mysql

    No, just use the value directly:

    begin
      if (select count(*) from table) > 0 then
         update table
      end if;
    end;
    

    Note there is no need for an "else".

    Edited

    You can simply do it all within the update statement (ie no if construct):

    update table
    set ...
    where ...
    and exists (select 'x' from table where ...)
    

提交回复
热议问题