create table test(i number , j number);

insert into test values(1,2)
insert into test values(1,3)
insert into test values(1,4)

select * from test;
         I          J
---------- ----------
         1          2
         1          3
         1          4

My  intentions:
after update
select * from test;
         I          J
---------- ----------
         1          2
         1          3+2
         1          4+3
after
select * from test;
         I          J
---------- ----------
         1          2
         1          5+2
         1          7+5

In  oracle,I use this:
update test x
set x.j = x.j + (select lag_j
from (select i, j, nvl(lag(j) over (order by i,j) ,0) as lag_j
from test) y
where x.i = y.i and x.j = y.j)

how can translate this for work in postgres?

Thanks's 

Paul









Paulo



      

Reply via email to