创建一个序列,该序列将根据年份进行重置。 考虑9位数的序列,以000000001开头,最大为999999999。
让日期为30/12/2017,后继为000012849 因此,当日期为01/01/2018时,我希望序列为000000001。
答案 0 :(得分:1)
在每年1月1日午夜创建resets the sequence的定期计划工作。
类似(假设您有一个YOUR_SCHEMA.RESET_ANNUAL_SEQUENCE
过程来执行重置):
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'reset_annual_sequence_job',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN your_schema.reset_annual_sequence; END;',
start_date => ADD_MONTHS( TRUNC( SYSTIMESTAMP, 'YY' ), 12 ),
repeat_interval => 'FREQ=YEARLY; BYDATE=0101;',
enabled => TRUE,
comments => 'Annual sequence reset'
);
END;
/