系统中需要使用一(日期+序列)的主键,也就使要求序列每天都需要重新建立。我使每次使用序列之前判断以日期为序列名的序列是否存在,如存在直接使用,不存在建立新序列,删除旧序列来完成,非常烦琐,是否有好一点的办法?

解决方案 »

  1.   

    有呀,sql语句中的序列名字就直接使用日期不就可以了,定时生成一些序列还删除一些序列,不用去判断
      

  2.   

    建一个存储过程并设为每天凌晨自动运行的job,内容就是每天重建那个序列。
      

  3.   

    "建一个存储过程并设为每天凌晨自动运行的job,内容就是每天重建那个序列。"这个时刻不好控制,零点并不一定是零点运行,容易导致边缘问题
      

  4.   

    to shangqiao(伤桥),
    理论上是这样,可是实际业务逻辑中,那个时间段一般是没人操作的,何况这个所需时间很短。即使是这样,保险起见,执行存储过程的时候,把那个表锁住总可以了吧。
      

  5.   

    shangqiao(伤桥) 
    icefirelxb(icefire) 
    谢谢两位,使用job可以满足要求。因为序列的不可回滚性,所以使用序列做关键字时是不连续的,能不能有好办法解决这个问题?
      

  6.   

    序列的值不能回滚,并且序列的连续性不一定被保证。在建序列的时候,加一句   no   cache能够加强序列的连续性