Oracle 主键设置成了varchar型  要求自动生成主键  怎么写代码

解决方案 »

  1.   

    创建序列:create sequence SEQ
    minvalue 1
    maxvalue 999999999999999999999999999
    start with 61
    increment by 1
    cache 30
    order;使用:insert into tname values(to_char(SEQ.nextval),其他字段值)
      

  2.   

    主键是varchar型的这个不能用吧
      

  3.   

     好像oracle中没有自动增长的功能,必须通过Oracle中的序列实现。
      

  4.   

    SQL> select sys_guid() from dual;SYS_GUID()
    --------------------------------
    D86BAAFE2EDE476DA6BE705EC07AF4C8
      

  5.   

    用sys_guit(),可以生成一个32位的字符数据,并且是不唯一的。你把主键设置为varchar2(40)就行了,用这个函数返回的值进行插入,自动的插入不会。