oracle 大量数据的更新问题

hytangzhang 2009-03-10 09:04:07
假如在一个表中有1000条记录,如下
1 ----
2 ----
3 ----
.
.
.
1000----
现在有一条新记录插入进来了,要使其插入在最前面,序号为1,后面的数据自动向后挪动,,
请问有何种 方法呢》
...全文
159 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qixiao 2009-03-14
  • 打赏
  • 举报
回复
插入的时候随意插入,取数据的时候 order by rowid desc不就行了吗
fengw2007 2009-03-14
  • 打赏
  • 举报
回复
不知能否使用临时表,把数据插入,然后直接将原来的表去掉,学习!!!
jdsnhan 2009-03-10
  • 打赏
  • 举报
回复
兵家之大忌
hancent 2009-03-10
  • 打赏
  • 举报
回复
同意楼上的。
mumu_java 2009-03-10
  • 打赏
  • 举报
回复
为什么不在表中多加入一个字段,比如时间,等你查询的时候可以按时间排序,这样依然可以保证你查到的数据是你插入是的顺序。
sjq521521 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 seuseuseu 的回复:]
什么情况下要这样做呢?
可以变通下实现,不一定非得从1开始排序
[/Quote]
UP...
seuseuseu 2009-03-10
  • 打赏
  • 举报
回复
什么情况下要这样做呢?
可以变通下实现,不一定非得从1开始排序
fuyou001 2009-03-10
  • 打赏
  • 举报
回复
来学习
mosaic 2009-03-10
  • 打赏
  • 举报
回复
这个需求怪怪的。

表中数据量大的时候不是慢的要死?
Andy__Huang 2009-03-10
  • 打赏
  • 举报
回复
或者这样
udpate tb set id=1001
where id=1
commit;

然后才能插入:
insert into tb(id,col1,col2,.....) values(1,....);
commit;
hytangzhang 2009-03-10
  • 打赏
  • 举报
回复
有时侯不是插入一条记录呢?而是10条,这都不是固定的
hytangzhang 2009-03-10
  • 打赏
  • 举报
回复
还有没有更简单的机制啊,这样的话每条记录要要更新一次啊,oracle内部有什么机制没有?
Andy__Huang 2009-03-10
  • 打赏
  • 举报
回复
先更新序号,在原序号基础上加1,空出序号1:
update tb set id=id+1;

然后才能插入:
insert into tb(id,col1,col2,.....) values(1,....);

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧