2011-02-17 11 views
18

TOAD kullanılarak bir Oracle veritabanında saklanan tüm prosedürleri araştırmam gerekiyor. Bir sonraki kimlik numarasını almak için geliştiricilerin sırayla NEXTVAL yerine MAX + 1 kullandıkları her yerde arıyorum.Oracle Depolanmış Prosedürleri İçinde Metin Aranması

Yıllardır SQL Server yapıyorum ve bunu yapmanın birkaç yolunu biliyorum, ancak hiçbiri bana yardım etmiyor.

kullanıyorum denedim

SELECT * FROM user_source 
WHERE UPPER(text) LIKE '%blah%' 
Sonuçlar ayrıca aşağıda çalıştı

. Sadece zaman varsayılan şema için değil ben arama gerekir şeması için ancak döndürülen ancak

sadece hataları Additi ekleme

SELECT * FROM SchemaName.user_source 
WHERE UPPER(text) LIKE '%blah%' 

cevap

47
SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%BLAH%' 

DÜZENLEME onal bilgi:

SELECT * FROM DBA_source WHERE UPPER(text) LIKE '%BLAH%' 

Fark, dba_source tüm saklanan nesnelerin metnine sahip olacaktır. All_source, sorguyu gerçekleştiren kullanıcı tarafından erişilebilen tüm saklı nesnelerin metnine sahip olacaktır. Oracle Database Reference 11g Release 2 (11.2)

Başka bir fark, dba_source'a erişiminiz olmayabilir.

+0

gibi UPPER(text) kullanın! Teşekkürler Shannon! – PseudoToad

+1

Aramayı belirli bir şema ile sınırlamak isterseniz, AND OWNER = 'SCHEMA OWNER NAME' yazabilirsiniz. –

2

UPPER(text) kullanırsanız, like '%lah%' her zaman sıfır sonucu döndürür. '%LAH%' kullanın.

3

Ben daima UPPER('%blah%')

Harikasınız
+0

Başka bir cevabı eleştirmek için lütfen bir yorum kullanın. (Yararlı cevaplar ve sorular göndererek kazanabileceğiniz 50 itibarı gerektirir.) –