专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > DB2

存储过程里更新符合条件的表有关问题

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
存储过程里更新符合条件的表问题
表table1(id1,date),table2(id1,id2,fd2)
当给的条件日期tmpdate在table1能找到时(即select count() from table1 where date=tmpdate不为空记录),更新和table1里对应的id1字段对应的table2里的fd2字段值为‘aaa’,如果没有找到时,更新为‘bbb’。
怎样写语句,求解!!!

------解决方案--------------------
SQL code
declare row_count int default 0;

select count(*) into row_count from(
  select * from table1 where date = tmpdate fetch first 1 row only
);

if row_count > 0 then
    update table2 set fd2 = 'aaa';
else
    update table2 set fd2 = 'bbb';
end if;

------解决方案--------------------
SQL code
update table2 set fd2 = 'aaa'
where exists(
  select id1 from table1
  where table1.id1 = table2.id1
    and table1.date = tmpdate
);

update table2 set fd2 = 'bbb'
where not exists(
  select id1 from table1
  where table1.id1 = table2.id1
    and table1.date = tmpdate
);
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: