CREATE TABLE "TK"."TABLESN" (
"YB" VARCHAR2(10),
"ISN" NUMBER(10),
"TABLENAME" VARCHAR2(30),
"IID" NUMBER(10) NOT NULL,
PRIMARY KEY(YB,TABLENAME,IID))
ORGANIZATION INDEX
TABLESPACE "BOCLETTER01_DATA" 想实现的效果是:在向TABLESN表中插入数据时,数据按照YB字段来实现物理上的自动排序,这样写可以吗?现在碰到的问题是如果数据量少的话是可以达到目的的,但是数据量一大(一万条左右),就不是想要的效果了。不知道怎么回事?请各位大虾帮忙!谢谢
"YB" VARCHAR2(10),
"ISN" NUMBER(10),
"TABLENAME" VARCHAR2(30),
"IID" NUMBER(10) NOT NULL,
PRIMARY KEY(YB,TABLENAME,IID))
ORGANIZATION INDEX
TABLESPACE "BOCLETTER01_DATA" 想实现的效果是:在向TABLESN表中插入数据时,数据按照YB字段来实现物理上的自动排序,这样写可以吗?现在碰到的问题是如果数据量少的话是可以达到目的的,但是数据量一大(一万条左右),就不是想要的效果了。不知道怎么回事?请各位大虾帮忙!谢谢
解决方案 »
- 300高分求oracle试题
- orcle 编程问题,什么函数可以搞定,怎么搞
- 如何在游标for循环中使用动态SQL语句?
- 从分区表中导出两个分区的部分数据插入到另一个有相同两个分区的表中,为什么目标表中两个分区没有数据
- 关联查询的一个问题。急切。。。。。谁能帮我优化
- 用MS SQLSERVER DTS 将数据导入ORACLE中为何先要将表名改为大写?
- Database Link总是设不对
- 急求救:我在linux安装oracle 8.0.5时,在复制软件时报relinking error!!
- 怪事!怎么在Oracle中竟然不支持TTable控件?(请高手指点一二)
- 关于9i的oracle management server的配置问题
- (重新整理)难题!“移动加权平均成本”计算的SQL的写法。(证券成本计价)
- ejb中执行oracle sql语句创建触发器的问题,请高手指教,谢谢
没有物理上的自动排序
什么意思?如果要按YB排序,直接order by "YB"不就行了?
哪里出问题了?各位帮帮忙啊!
a b 序列生成iSN
YB 1 1
3 2
4 3
2 4插入数据之前YB的顺序是未知的,如果用序列来生成isn的话必然导致YB的顺序和isn的顺序不一致。
个人理解你想保证iSN和YB的顺序一致,然后用iSN作为流水号?如果是这样,那么你可以直接用YB作流水号啊。提问的时候应该说明的是需求,而不是让别人来适应你的思路,因为你的思路很可能是错的(要不可能你就不用来问了)。
即:
YB TABLENAME IID iSN
100000 T1 11 1
200000 T1 10 2
999999 T0 5 3
insert into TABLESN(YB,TABLENAME,IID) VALUES('999999','T0','5')
insert into TABLESN(YB,TABLENAME,IID) VALUES('200000','T1','11')
insert into TABLESN(YB,TABLENAME,IID) VALUES('100000','T1','10')
插入的顺序是:先插入999999,然后是200000,100000
插入后就会自动按照上面的顺序存储了;
就想按照这个顺序生成iSN但是数据量一大,就不是上面的效果了有什么好的解决方法啊?
iSN =count(*)+1
就可以了
比如表中不需要ISN字段,在取值的时候先通过对全表order by YB 来排序SELECT 中使用row_number函数确认行号.相当于ISN字段的功能了.然后外面再嵌套SQL来完成想实现的功能查询。
一个建议,没测试过。仅供楼主参考!