CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  基础和管理

我用php向oracle中插入记录,但是插入到oracle中后,记录的前后次序和我插入的顺序不一样.怎么才能和我的插入的顺序一样?

楼主xieqi(飞火流星)2003-11-03 12:57:14 在 Oracle / 基础和管理 提问

环境:win2003+apache2+php4.2+oracle9.0  
   
  我用php向oracle中插入记录,但是插入到oracle中后,记录的前后次序和我插入的顺序不一样.怎么才能和我的插入的顺序一样?  
   
  比如:  
  我插入18个记录,用ctxsys.dr_id_seq.nextval来生成自动增量id.     id分别是1781,1779,1780,1782,1783,1549,1550,1558,1559,1560,1562,1564,1568,1569,1784,1742,1570,1571(注:整个站点都用ctxsys.dr_id_seq.nextval来生成自动增量,所以自动增量可能不连续),发生奇怪的事,18条记录的在oracle中顺序并不是以id从小到大的排列,而是1781,1779,1780,1782,1783,1549,1550,1558,1559,1560,1562,1564,1568,1569,1784,1742,1570,1571,乱七八糟,没有规律的顺序.这是为什么?与整个站都用ctxsys.dr_id_seq.nextval来生成自动增量有关吗?  
   
  怎么让记录在oracle中存放时按插入的顺序,依次排列? 问题点数:88、回复次数:5Top

1 楼ATCG(novel gene)回复于 2003-11-03 13:05:04 得分 20

这个好像不行,因为ORACLE是按照数据块随机分配存储空间的,所以记录顺序一般只有通过排序来实现Top

2 楼bzszp(SongZip)回复于 2003-11-03 13:15:44 得分 20

因为新插入的数据可能存放在以前删除数据后留出的空间里面  
  只能通过order   by   colname来排序  
  Top

3 楼qiyousyc(沈阳棋友)回复于 2003-11-03 13:26:14 得分 18

你不可能控制oracle的记录的物理存放地址,  
  除非你在select时用order   by   主键排序Top

4 楼xieqi(飞火流星)回复于 2003-11-08 11:38:09 得分 0

mssql就是连续的,奇怪。新增的记录永远在最下面,即使前面删除过记录,但还是从小到大,依次排列的。  
  Top

5 楼bzszp(SongZip)回复于 2003-11-08 11:42:55 得分 30

一般情况下,oracle的也是连续的  
  如果重用了以前使用过的数据块,就会出现问题了Top

相关问题

  • PHP执行顺序讨论!
  • oracle+php??求助
  • PHP和Oracle
  • 怎么启动oracle,启动oracle的顺序是什么?
  • f(),g()交换调用次序后,destructor的调用总是一样的顺序,why?
  • 从jsp想oracle插入记录的顺序问题
  • oracle排序问题--如何按asc顺序排序
  • php+oracle分页问题
  • php+oracle连接问题
  • 拜托!!关于php+oracle

关键词

  • 排序
  • oracle
  • 排列
  • 数据
  • php
  • 插入
  • 顺序
  • 记录
  • ctxsys
  • oracle中

得分解答快速导航

  • 帖主:xieqi
  • ATCG
  • bzszp
  • qiyousyc
  • bzszp

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo