Database version:oracle 11gr2,
my table is like:
create table t_test(t_id number,t_value number)
insert into t_test (t_id) values (1);
insert into t_test (t_id) values (2);
insert into t_test (t_id) values (6);
insert into t_test (t_id) values (10);
insert into t_test (t_id) values (3);
t_id t_value
1 null
2 null
6 null
10 null
3 null
My expecting update is like:
select t.t_id,row_number() over (order by t.t_id)
from t_test t
t_id row_number() over (order by t.t_id)
1 1
2 2
6 4
10 5
3 3
But analytic function is not allowed in update view:
update
(select t.value,row_number() over (order by t.t_id) rn
from t_test t)
set value=rn
Without no doubt,it causes ORA-01732.
How do I put my update query?
Try this