postgresql如何更新插入一起判断执行?? 15

就是读入一条数据,根据条件先进行更新操作,如果不存在,则插入该数据,能否update,insert一起判断执行?... 就是读入一条数据,根据条件先进行更新操作,如果不存在,则插入该数据,能否update,insert一起判断执行? 展开
 我来答
Andy_Sun321
2015-06-23 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:727万
展开全部

可以先执行update语句(update的条件是存在的判断条件),然后调用get diagnostics获得上一个SQL语句执行所影响的行数,如果影响行数为0,则说明不存在,那么再执行insert语句。

结构类似:

declare
v_cnt integer;
begin
  update ....   -- 执行更新语句
  where ...; -- 这里的条件是存在的判断条件
  get diagnostics v_cnt = row_count;    -- 将影响行数的值赋给v_cnt
  if v_cnt = 0 then
    insert into ...;    -- 执行插入语句
  end if;
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式