如何在oracle里设置自动增量列,比如在插入记录的时候自动写:BB_0001,BB_0002
现在只知道用creat sequence,但不知道怎样加前缀BB_

解决方案 »

  1.   

    我来拣分,'BB_'||a.nextval
    哈哈~~~~~~~~~~~~,小错误!
      

  2.   

    CREATE SEQUENCE 序列名称
    INCREMENT BY 1
    START WITH 10000
    NOMAXVALUE
    NOMINVALUE
    NOCYCLE 这个放哪啊?'BB_'||a.nextval,有没有哪个老大能写个完整点的给我参考一下?
      

  3.   

    'BB_'忘了加单引号了,呵呵楼主想在序列里就变成'BB_0001',在外面拼不好吗?
      

  4.   

    要求是这样的呀,没法子
    如果是BB_1,BB_2,也可以的
    能否写个完整的例子给我看看?
      

  5.   

    樓主要求的功能是完全可以實現的,大家也都說了,創建序列
    CREATE SEQUENCE 序列名称
    INCREMENT BY 1
    START WITH 10000
    NOMAXVALUE
    NOMINVALUE
    NOCYCLE
    oracle與sqlserver有一個區別就是序列不會自動增加,你必須手動控制,比如說我在實際開發中的一個用到序列的地方,我把它摘錄下來,供樓主分享
    DROP SEQUENCE COBINEW.SEQ_MAN_PARA;CREATE SEQUENCE COBINEW.SEQ_MAN_PARA
      START WITH 18
      MAXVALUE 999999999999999999999999999
      MINVALUE 1 select cobinew.seq_man_para.nextval 
        into :main.no
        from dual;
    在每保存一條記錄的時候,用上面的語句為序列加一
    然後再插入相應的表中