入行不久,向各位高手请教一个问题.用oracle做一个字段自动增长.
表:CREATE   TABLE   LogUSer (   
                  ID  number  PRIMARY   KEY  not null,                                             
                  type  varchar2(20)  not null ,                                                           
                  pwd   varchar2(10) not null  ); 
我的sequence 这样写的:create sequence loguser_id increment by 1 start with 1;
触发器这样写:CREATE   OR   REPLACE   TRIGGER  loguser_tri   BEFORE     
          INSERT     
          ON   loguser    
          FOR   EACH   ROW   BEGIN   
  SELECT   loguser_id.nextval   INTO   :new.ID   FROM   dual;   
  END; 
用了developer.
可是我插入语句是时,第一条纪录的ID不是为1,而是2.
增长也不是1,而是每次增长2.
ID是这样增长的:2,4,6,8,10,....想向大家请教下,应该要送分,可现在我也没有分了,只好厚脸皮了....

解决方案 »

  1.   

    我这里完全没问题啊:
    SQL> conn test/test
    已连接。
    SQL> create sequence loguser_id increment by 1 start with 1;序列已创建。SQL> CREATE   TABLE   LogUSer (
      2                    ID  number  PRIMARY   KEY  not null,  3                    type  varchar2(20)  not null ,  4                    pwd   varchar2(10) not null  );表已创建。SQL>
    SQL> CREATE   OR   REPLACE   TRIGGER  loguser_tri   BEFORE
      2            INSERT
      3            ON   loguser
      4            FOR   EACH   ROW   BEGIN
      5    SELECT   loguser_id.nextval   INTO   :new.ID   FROM   dual;
      6    END;
      7  /触发器已创建SQL> insert into LogUSer(type,pwd) values('a','123456');已创建 1 行。SQL> insert into LogUSer(type,pwd) values('b','123456');已创建 1 行。SQL> commit;提交完成。SQL> select * from loguser;        ID TYPE                 PWD
    ---------- -------------------- ----------
             1 a                    123456
             2 b                    123456