利用Oracle rownum让表排序字段值连续1、需求说明表(eval_index)中有字段如下:
| 表字段 | 描述 | 说明 |
| ID | 主键 | |
| GROUP_ID | 分组编号 | |
| SORT_NUM | 排序序号 | 按照分值编号并排序:1、2、… |
由于删除或其他操作,导致sort_num序号不连续;需要不改变原来的排序,保持其编号连续。
2、利用rownum功能实现update eval_index a seta.sort_num = ( select b.rn from (select rownum rn ,id from (select * from eval_index wheregroup_id = ?order by sort_num) ) b where a.id = b.id)where index_id = ?;Oracle数据库中的rownum和ORDER BY执行顺序 http://www.linuxidc.com/Linux/2014-11/109323.htm使用rowid和rownum获取记录时要注意的问题 http://www.linuxidc.com/Linux/2014-10/108251.htm[Oracle] rownum和分页 http://www.linuxidc.com/Linux/2014-07/103977.htmrownum分页故障解决一例 http://www.linuxidc.com/Linux/2014-05/101886.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址