在table A 中,数据排列如下:
1 aa xx cc
2 zz ee ee
3 vv bb ww
4 tc ev bb
5 33 55 66
..........
如果有人删除2和4行后
会出现
1 aa xx cc
3 vv bb ww
5 33 55 66
..........
如何修改为
1 aa xx cc
2 vv bb ww
3 33 55 66
..........也就是说,如何将列值修改成递增,中间不留空行
1 aa xx cc
2 zz ee ee
3 vv bb ww
4 tc ev bb
5 33 55 66
..........
如果有人删除2和4行后
会出现
1 aa xx cc
3 vv bb ww
5 33 55 66
..........
如何修改为
1 aa xx cc
2 vv bb ww
3 33 55 66
..........也就是说,如何将列值修改成递增,中间不留空行
解决方案 »
- 请问Oracle端口改为23,telnet端口改为比如2333可以吗?
- Oracle inactive session 与 sql_text的问题
- 各位大虾求解,关于游标的open和close命令
- ORACLE JOB
- 请教一个统计的SQL语句
- TNS: can't resolve the server name!
- OraclsTNSListener80无法启动,WHY?
- 我的机器新安装win2k server+ oracle816,managerserver启不了,help?
- 请大家都来谈谈MySQL、Oracle、SQLServer、DB2的性能,做一下比价
- 请问怎么讲sql存储过程改成oracle的啊?我是一点不会oracle
- Oracle数据库数据的保存
- oracle 求高手指导
存在当删除数据的时候,出发UPDATE
create table tmp(id int ,col varchar2(10));
insert into tmp
select 1, 'col1' from dual
union
select 2, 'col2' from dual
union
select 3, 'col3' from dual
union
select 4, 'col4' from dual
union
select 5, 'col5' from dual
select * from tmp;
delete from tmp where id = 2;
delete from tmp where id = 5;
update tmp a set id = (select seq_num from (select rownum seq_num, id, col from tmp order by id) b where a.id = b.id)
where id>=1;
select * from tmp;