Le problème est qu'Oracle nous permet d'utiliser une séquence pour remplir les colonnes de plusieurs tables. Les scénarios où cela pourrait être souhaitable incluent les implémentations de super-type/sous-type.
Vous pouvez utiliser les dépendances du dictionnaire de données pour identifier les relations. Par exemple, si vous utilisez des déclencheurs pour attribuer les valeurs, cette requête vous aidera :
select ut.table_name
, ud.referenced_name as sequence_name
from user_dependencies ud
join user_triggers ut on (ut.trigger_name = ud.name)
where ud.type='TRIGGER'
and ud.referenced_type='SEQUENCE'
/
Si vous utilisez PL/SQL, vous pouvez écrire quelque chose de similaire pour TYPE in ('PACKAGE BODY', 'PROCEDURE', 'FUNCTION')
, bien que vous ayez toujours besoin de parcourir le code source pour attribuer des tables et des séquences lorsque vous avez plusieurs occurrences.