2011-04-20 7 views

cevap

9

nesne için DDL oluşturmak ve sonra CLOB aramak için DBMS_METADATA paketi kullanmak genellikle ediyorum code-- nesnesi aracılığıyla arama yapmak mümkündür. Ancak, aslında yapmak istediğin şey gibi gelmiyor. Eğer sadece bir tablo sisteminizde herhangi bir kod tarafından başvurulan olup olmadığını anlamaya çalışıyorsanız

, genellikle sen ne DBA_DEPENDENCIES görünümü (veya ALL_DEPENDENCIES veya USER_DEPENDENCIES Yetkilerinize bağlı ve kapsamı kullanmak isteyeyim aramak).

SELECT * 
    FROM dba_dependencies 
WHERE referenced_owner = 'SCOTT' 
    AND referenced_name = 'EMP' 
    AND referenced_type = 'TABLE' 

gibi bir şey size SCOTT şemada EMP tabloya bağlıdır her şeyi gösterecektir.

DBA_DEPENDENCIES'a bakmak yerine kod aramak istediğiniz yalnızca, tablonun sabit kodlanmış olduğu dinamik SQL yaptığınız kodun olması gerekir. Ancak bu uygulamada nispeten olası değil.

+0

merak ediyorum - ayrıca kontrol irade eğer, örneğin, Prosedür görmek A, Tablo C'ye bağlı olan B Görünümüne bağlıdır? Ya da hiyerarşik bir sorgu olması gerekir? –

+1

@Adam - Bunun için bir hiyerarşik sorguya ihtiyacınız var. Bu, yalnızca B Görünümünün Tablo C'ye bağlı olduğunu söyler. Oracle, bunun için% ORACLE_HOME% \ rdbms \ admin dosyasında bir utldtree komut dosyası sağlar. –

+0

Ve her zaman kendi başıma yazabileceğimi düşünüyorum. Hiçbir şeyin bulunmadığı hakkında hiçbir fikrim yoktu. –

2

Sen DBA_SOURCE görünümü arayabilirsiniz:

SELECT * 
    FROM dba_source 
WHERE UPPER(text) LIKE '%YOUR_TABLE_NAME%'; 
0

Toad ürününe sahipseniz, bunu yerleşik olarak yapabilirsiniz. Toad Search

+0

Paylaşıyor musunuz, bu iletişim kutusuna nasıl ulaştınız? Bu iletişim kutusu için seçenek nerede bulunur? –

1

(Mahremiyete benim şemaları kaldırıldı) seçerek Toad bu yapın:

Arama => Nesne Arama

İlgili konular