是不是在两个SESSION做的?
insert那个SESSION有没有commit?问问题,最好把操作的过程和SQL写清楚。

解决方案 »

  1.   

    commit了,而且我再重新插入的话,会提示我数据重复,可是我就是看不到数据!这是怎么回事?
    分区表直接用select * from 分区表名,应该没问题吧
    就算我不用sql语句,直接看表的数据,也是空的!
      

  2.   

    把操作的过程和SQL写清楚。
      

  3.   

    你用什么分的区,是散列,还是列表,还是范围,还有你有没有commit;
    最好把代码复制上来
      

  4.   

    这和什么分区没太大关系。
    叫你写出操作,你要看看你的过程是不是有错误。
    仅仅从你现在说的话,插入,commit,select是不会有问题的。你所谓的“select * from 分区表名”,是指分区的名字还是表的名字?插入时候的表名和查询的表名是不是有写错?问问题不要用这种挤牙膏的方式
      

  5.   

    首先我建立表的两个个分区的表空间: 
    CREATE TABLESPACE ts_pay2003 
    DATAFILE 'd:\oracle\oradata\limsii\pay2003.dat' 
    SIZE 100M 
    DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0) 
    CREATE TABLESPACE ts_pay2004 
    DATAFILE 'd:\oracle\oradata\limsii\pay2004.dat' 然后建立基于分区的表
    CREATE TABLE pays 
    (   NO                             NUMBER(10,0) NOT NULL,
        ID                             NUMBER(10,0) NOT NULL,
        INSUREID                       VARCHAR2(18) NOT NULL,
        TIME                           VARCHAR2(6) NOT NULL,
        COMPID                         VARCHAR2(10),
        BASE                           NUMBER(10,0) DEFAULT 0,
        PERSONPAY                      NUMBER(10,2) DEFAULT 0,
        ADDPERSON                      NUMBER(10,2) DEFAULT 0,
        CORPTRANSFER                   NUMBER(10,2) DEFAULT 0,
        ADDCORPTRAN                    NUMBER(10,2) DEFAULT 0,
        CORPPAY                        NUMBER(10,2) DEFAULT 0,
        ADDCORPPAY                     NUMBER(10,2) DEFAULT 0,
        ADDALL                         NUMBER(10,2) DEFAULT 0,
        MAKEUPSIGN                     VARCHAR2(2) DEFAULT 0,
        CALCULATE                      NUMBER(2,0) DEFAULT 0,
        PAYSIGN                        VARCHAR2(2) DEFAULT 0,
        NOPAYREASON                    VARCHAR2(2) DEFAULT 0,
        SPECIALSIGN                    VARCHAR2(2) DEFAULT 0,
        SIGN                           VARCHAR2(2) DEFAULT 0,
        MONTHCOUNT                     NUMBER(10,0) DEFAULT 0,
        CHECKSIGN                      VARCHAR2(2) DEFAULT 0,
        SUPPLY_TIME                    VARCHAR2(6),
        ADMITTIME                      VARCHAR2(6) 

    PARTITION BY RANGE (time) 
    (PARTITION pay2003 
    VALUES LESS THAN ('200401') 
    TABLESPACE ts_pay2003, 
    PARTITION pay2004 
    VALUES LESS THAN ('200501') 
    TABLESPACE ts_pay2004); 第三步:把表结构和基于分区的标一样的表pay里的数据插进去
        insert into pays select * from pay,提示共10456条数据插入成功
    第四步:查看数据select * from pays ,为空!
      

  6.   

    insert into pays select * from pay;
    之后commit一下。如果你commit了,应该没有问题的。要不你select sum(bytes) from user_segments where segment_name='PAYS';
    看一下表有没有数据存储进去?另外,insert into pays select * from pay;
          select * from pays ;
          这两句是不是以同一个user执行的啊?
      

  7.   

    insert into pays select * from pay;
    之后commit一下。我已经commit了另外,insert into pays select * from pay;
          select * from pays ;
          这两句是不是以同一个user执行的啊?是同一个用户呀
      

  8.   

    要不你select sum(bytes) from user_segments where segment_name='PAYS';
    看一下表有没有数据存储进去?查询结果为空这是怎么回事呀?我该怎么办?
      

  9.   

    ft,怎么可能,也没报错?
    这么简单的操作,表drop掉,再来一遍看看。
    就我所知ORACLE还没有这么低级的BUG。select * from v$option where lower(PARAMETER)='partitioning';
    看看你的ORACLE支持partitioning么?
      

  10.   

    看一下新建的ts_pay200x 这些表空间的状态
      

  11.   

    呵呵,表空间 offline 时,插入数据是会报错的