PL / SQLを使用できる場合は、試してみてください(編集:Neilのxlntの提案を組み込んで、次に高い値から開始します):
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;
考慮すべきもう1つのポイント:CACHEパラメーターを20に設定すると、データベースがダウンした場合にシーケンス内の最大19個の値が失われるリスクがあります。 CACHEd値は、データベースの再起動時に失われます。シーケンスを頻繁にヒットする場合、またはギャップをそれほど気にしない場合を除いて、1に設定します。
最後に、CACHEとINCREMENTBYに指定した値がデフォルトです。それらを省略して同じ結果を得ることができます。