业务场景,假设表test_table字段num是按大小排列的无规则数字,如,1,2,3,10,45,87,现在需要改成按规律递增的数字,以便后续新数据扩展,如10,20,30,40,50这样,这样在10和20之间新增数据15,15的前后也可以新增数据,而不至于像,1,2,3这样无法在1和2或者2和3之间新增数据了。
declare
n int;--定义变量
begin
n:=10;--为i赋值
for i in (select * from test_table order by num ) loop
Update test_table a Set a.num= n
Where a.id = i.id;
n:=n+10;--i依次加10
Commit;
end loop;
end;
更改前数据:
id | num |
1 | 1 |
2 | 3 |
3 | 2 |
4 | 10 |
更改后数据:
id | num |
1 | 10 |
2 | 30 |
3 | 20 |
4 | 40 |