创建基金公司编号,以字母K+5开头create sequence companyId_seq increment by k00001 start with k00001 maxvalue k99999 nocycle nocache;
像这样会报错,ora-01722:无效数字请各位大侠们出点点子,谢谢,最好把代码写起。

解决方案 »

  1.   


    肯定的  什么是序列 是int 型 的
      

  2.   

    序列必需是数值的
    满足你的条件也很简单的,你在序列中把k去掉
    然后在使用序列的语句那里用'k'||companyId_seq.nextval就可以了
      

  3.   


    ---这样整  OK?
    SQL> create table tt_seq(id varchar2(6))
      2  /表已创建。SQL> create sequence companyId_seq
      2  increment by 1 
      3  start with 1 
      4  maxvalue 99999 
      5  nocycle nocache
      6  /序列已创建。
    SQL> insert into tt_seq values('k'||lpad(companyId_seq.nextval,5,'0'))
      2  /已创建 1 行。SQL> commit
      2  /提交完成。SQL> select * from tt_seq
      2  /ID
    ------
    k00001