假设我有张表t_student 其中id为int型 怎么实现添加时id为自动递增而不需要手动添加

解决方案 »

  1.   

    1、ORACLE没有类似SQL SERVER的自增长字段;
    2、在ORACLE中,使用触发器实现字段的自增长;
    create sequence book_seq start with 1 increment by 1;      
    --创建触发器       
    create or replace trigger book_trigger        
    before insert on book        
    for each row        
    begin        
    select book_seq.nextval into :new.bookId from dual;       
    end ;    
    --添加数据       
    insert into book(name) values ('cc');     
    insert into book(name) values ('dd');    
      

  2.   

    new.bookId from dual什么意思
      

  3.   

    一般用序列吧....触发器什么的太麻烦..create sequence seq_t_student
    minvalue 1
    maxvalue 999999999
    start with 1
    increment by 1
    nocache;用的话可以
    select seq_t_student.nextval from dual;
    就能取到下一个值了...实在懒...也可以
    select max(id)+1 from t_student;
    不过这个不保险噢...