oracle里的每种数据类型都有它的最大长度,是不能无限怎加的。

解决方案 »

  1.   

    在create table时是不能像access一样设置成自动增长的,需要用序列和触发器,或直接用触发器
      

  2.   

    参考 http://www.csdn.net/expert/topic/918/918672.xml?temp=4.360598E-02
      

  3.   

    To: zhaoyongzhu(zhaoyongzhu) ORACLE的NUMBER类型有38位长,我相信等到从1增长到38位个9时,您老早不在人世了。
      

  4.   

    你是建好表后往里面插入记录时让ID自动递增吗?如果是,可以这样做:
    1.建序列
    Create Sequence SeOperationID
    Start With 1
    Increment By 1;2.建表
    CREATE TABLE RZ_Info(
            OperationID   number  PRIMARY KEY,                     
            OprationType  varchar2(20),                            
            OperationTime date DEFAULT SYSDATE,                   
            OperationMan  varchar2(4)); 3.建触发器
    CREATE OR REPLACE TRIGGER RZ_Info_RIGGER
    BEFORE INSERT
    ON RZ_Info FOR EACH ROW
    BEGIN
      SELECT SeOperationID.NEXTVAL INTO :NEW.OperationID FROM DUAL;
    END;
    / 4.插入记录
    INSERT INTO RZ_Info(OprationType,OperationMan) 
         VALUES('系统初始化','0000');
    你重复多次操作插入多条记录。5.查询记录
    select * from RZ_Info;
      

  5.   

    这样是可以的
    可是怎么得到刚才新插入的记录的主键值呢?
    在Sql server里可以用@@identity读取,在Oracle里怎么做啊?