我的数据库订单表主键OrderID 以前用的是标识种子int型 现在想改为  当日日期加第几个订单

今天是06年2月1日有人下订单订单号如下:
06年2月1日 当天的第一个订单
web060201001
06年2月1日 当天的第二个订单
web060201002
等等往下加但是过了一天

06年2月3日又有人下订单订单号如下:
06年2月3日 当天的第一个订单
web060203001
06年2月3日 当天的第二个订单
web060203002
等等往下加高手这个如何做请教了!!

解决方案 »

  1.   

    写insert 的触发器。在触发器里 更新OrderID字段。 可以先查出当天的最后一条,再加一。
    大致代码:
    比如当天 06年2月3日 已经有3条了。 select max(OrderID) into nid from table where substr(orderid,4,6) = todate(sysdate,'YYMMDD') ;再nid ++; 最后 update orderid = nid;
      

  2.   

    我的数据库要是使Access的咋办
      

  3.   

    最笨的方法,插入前做个查询阿!取一下当天已经有的记录数然后N然后N++再插入不就ok了,或者用sql语句直接做啊