Il n'y a pas moyen sûr, mais vous pouvez rechercher l'utilisateur/all/dba_source en utilisant regexp_like
pour vérifier des mots entiers, et de référence croisée avec l'utilisateur/all/dba_dependencies à affiner la liste des paquets à vérifier.
select s.name, s.type, s.line, s.text
from user_source s
where ltrim(s.text,chr(9)||' ') not like '--%'
and regexp_like(lower(s.text),'\Wyour_column_name_here\W')
and (s.name, s.type) in
(select d.name, d.type
from user_dependencies d
where d.referenced_owner = user
and d.referenced_name = 'YOUR_TABLE_NAME_HERE');
ou s'il pourrait y avoir des références à partir d'autres schémas,
select s.owner, s.name, s.type, s.line, s.text
from all_source s
where ltrim(s.text,chr(9)||' ') not like '--%'
and regexp_like(lower(s.text),'\Wyour_column_name_here\W')
and (s.owner, s.name, s.type) in
(select d.owner, d.name, d.type
from all_dependencies d
where d.referenced_owner = user
and d.referenced_name = 'YOUR_TABLE_NAME_HERE');
Vous pourriez faire juste utiliser select distinct s.owner, s.name, s.type ...
pour obtenir une liste d'objets pour enquêter.
(répétition de ma réponse à How to find name of the stored procedure using Column name in Oracle 11g que je pris conscience après la publication était de 5 ans. L'espoir qui est OK avec l'étiquette SO.)
double possible de [Comment trouver le nom de la procédure stockée en utilisant le nom de colonne dans Oracle 11g] (http://stackoverflow.com/questions/5432948/how-to-find-name-of-the-stored-procedure-using-column-name-in-oracle-11g) –