Problem polega na tym, że Oracle pozwala nam na użycie jednej sekwencji do wypełnienia kolumn w kilku tabelach. Scenariusze, w których może to być pożądane, obejmują implementacje nadtypów/podtypów.
Zależności ze słownika danych można używać do identyfikowania relacji. Na przykład, jeśli używasz wyzwalaczy do przypisywania wartości, to zapytanie pomoże ci:
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'
/
Jeśli używasz PL/SQL, możesz napisać coś podobnego dla TYPE in ('PACKAGE BODY', 'PROCEDURE', 'FUNCTION')
, chociaż nadal będziesz potrzebować trochę przeszukania kodu źródłowego, aby przypisać tabele i sekwencje, gdy masz wiele trafień.