一张表A:
id      项目名称   季度      经费     
 001    项目1          1         200       
 001     项目1        2         300     
002     项目2        1           300        
表B
 id     statue
001    0
002    0现在的要求在oracle中就是 写一个过程:判断四个季度的总的经费加起来是否为1000,如果是就将表B中对应的statue改为1!
请高手帮帮忙,呵呵。。

解决方案 »

  1.   

    不需要存储过程,一句UPDATE就行了。update b
    set statue=(select decode(sum(经费),1000,1,0) from a where id=b.id);
      

  2.   

    update b
    set statue=1
    where (select sum(经费) from a where id=b.id)=1000
      

  3.   

    update b 
    set statue = 1
    where id in (
     select id from a having sum(经费) = 1000 group by id
    )
      

  4.   

    我想用在job中的,所以得写一个存储过程!呵呵,那就把这个update语句写在存储过程当中就可以了吧!