Réinitialisation d'une sequence par rapport à l'id d'une table

 1DECLARE
 2    v_max_id NUMBER;
 3BEGIN
 4    -- Récupèrer le dernier ID utilisé dans la table
 5    SELECT COALESCE(MAX(id), 0) INTO v_max_id FROM mon_schema.ma_table;
 6
 7    -- Repositionner la séquence pour démarrer au bon endroit
 8    EXECUTE IMMEDIATE 'ALTER SEQUENCE mon_schema.SEQ_ma_sequence RESTART START WITH ' || (v_max_id + 1) ;
 9
10    DBMS_OUTPUT.PUT_LINE('Séquence repositionnée à ' || (v_max_id + 1));
11END;
12/