如何自动生成编号字段? 
如何自动生成编号字段? 
在课程信息的表里有KCH课程号字段,规则是自动生成课程号Data TypeVARCHAR2(8)请问如何实现??

解决方案 »

  1.   

    用序列,
    举例:
    create sequence kch increment by 1 start with 1 nomaxvalue;然后在使用时
    insert into table1 values(kch.nextval,...);
      

  2.   

    update 表
    set KCH=rownum
      

  3.   

    建议用sequence,用rownum作编号不好。
      

  4.   

    To:zjjjacky(kiky)
        建议用sequence,用rownum作编号不好。
    想知道为什么不好。
    谢谢拉!!!
      

  5.   

    rownum是动态的,比如说表中有100条记录,执行自动编码1-100。
    现在把编号为50地记录删掉,插入一条新的纪录,并对它编码,
    通常的做法是不更新已经编码的记录,因为该记录通过编码和别的记录关联。
    于是用如下的语句更新:
    update t1 set id=rownum
    where id is null;
    结果新记录的编码为1,出现重复编码。用Sequence就没有这种问题。如果数据不再更新可以考虑用这种方式,否则的考虑用特别的语句来更新编码。
    update t1 set id = rownum +(select max(id) from t1)
    where id is null;