sql >> Databasteknik >  >> RDS >> Oracle

Återställ en sekvens enligt år, inte med min eller max värde

Skapa ett återkommande schemalagt jobb som återställer sekvensen vid midnatt den 1 januari varje år.

Något liknande (förutsatt att du har en YOUR_SCHEMA.RESET_ANNUAL_SEQUENCE procedur för att utföra återställningen):

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;
/



  1. Undvika SQL-låslägen med frågejustering:Råd från Brent Ozar

  2. kopiera från en databas till en annan med Oracle sql-utvecklare - anslutningen misslyckades

  3. SET-operatorer i SQL

  4. MySQL, Kontrollera om det finns en kolumn i en tabell med SQL