Không có cách nào được đảm bảo, nhưng bạn có thể tìm kiếm người dùng / tất cả / dba_source bằng cách sử dụng regexp_like
để kiểm tra toàn bộ các từ và tham chiếu chéo từ đó với user / all / dba_dependencies để thu hẹp danh sách các gói cần kiểm tra.
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' );
hoặc nếu có thể có tham chiếu đến nó từ các lược đồ khác,
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' );
Bạn có thể chỉ cần sử dụng select distinct s.owner, s.name, s.type ...
để có được danh sách các đối tượng cần điều tra.