Pokud můžete použít PL/SQL, zkuste (UPRAVIT:Zahrnuje Neilův návrh xlnt začít na další vyšší hodnotě):
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;
Další bod ke zvážení:Nastavením parametru CACHE na 20 riskujete ztrátu až 19 hodnot ve vaší sekvenci, pokud databáze selže. Hodnoty uložené v mezipaměti jsou ztraceny při restartování databáze. Pokud na sekvenci nenarážíte velmi často nebo pokud vás mezery tolik nezajímají, nastavil bych ji na 1.
Jedna poslední nit:hodnoty, které jste zadali pro CACHE a INCREMENT BY, jsou výchozí hodnoty. Můžete je nechat vypnuté a získat stejný výsledek.