Om du kan använda PL/SQL, försök (EDIT:Inkorporerar Neils xlnt-förslag för att börja med nästa högre värde):
SELECT 'CREATE SEQUENCE transaction_sequence MINVALUE 0 START WITH '||MAX(trans_seq_no)+1||' INCREMENT BY 1 CACHE 20'
INTO v_sql
FROM transaction_log;
EXECUTE IMMEDIATE v_sql;
En annan punkt att tänka på:Genom att sätta parametern CACHE till 20 riskerar du att förlora upp till 19 värden i din sekvens om databasen går ner. Cachelagrade värden går förlorade vid omstart av databasen. Om du inte träffar sekvensen väldigt ofta, eller om du inte bryr dig så mycket om luckor, skulle jag ställa in den på 1.
En sista nit:värdena du angav för CACHE och INCREMENT BY är standardvärdena. Du kan lämna dem och få samma resultat.