2011-02-17 9 views
18

मुझे TOAD का उपयोग करके ओरेकल डेटाबेस में सभी संग्रहीत प्रक्रियाओं को खोजना होगा। मैं कहीं भी ढूंढ रहा हूं कि डेवलपर्स ने अगले आईडी नंबर प्राप्त करने के लिए अनुक्रम पर NEXTVAL के बजाय MAX + 1 का उपयोग किया था।ओरेकल संग्रहीत प्रक्रियाओं के भीतर पाठ के लिए खोज

मैं वर्षों से SQL सर्वर कर रहा हूं और वहां ऐसा करने के कई तरीके जानते हैं लेकिन कोई भी मेरी मदद नहीं कर रहा है।

मैं का उपयोग कर की कोशिश की है

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

परिणाम लेकिन केवल मेरा डिफ़ॉल्ट स्कीमा के लिए और स्कीमा मैं में खोज करने की आवश्यकता के लिए नहीं चुना जाता है।

मैं भी नीचे की कोशिश की, लेकिन यह सिर्फ त्रुटियों

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

उत्तर

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

संपादित additi जोड़ना ऑनल जानकारी:

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

अंतर यह है कि dba_source में सभी संग्रहीत वस्तुओं का पाठ होगा। All_source में उपयोगकर्ता द्वारा क्वेरी निष्पादित करने वाले सभी संग्रहीत ऑब्जेक्ट्स का टेक्स्ट होगा। Oracle Database Reference 11g Release 2 (11.2)

एक और अंतर यह है कि आपके पास dba_source तक पहुंच नहीं हो सकती है।

+0

आप झूमने तरह UPPER(text) का उपयोग करें! बहुत बहुत धन्यवाद शैनन! – PseudoToad

+1

यदि आप खोज को किसी विशिष्ट स्कीमा तक सीमित करना चाहते हैं, तो आप और OWNER = 'SCHEMA स्वामी नाम' जोड़ सकते हैं। –

2

यदि आप UPPER(text) का उपयोग करते हैं, तो like '%lah%' हमेशा शून्य परिणाम लौटाएगा। '%LAH%' का प्रयोग करें।

3

मैं allways UPPER('%blah%')

+0

एक और जवाब की आलोचना करने के लिए, कृपया एक टिप्पणी का उपयोग करें। (50 प्रतिष्ठा की आवश्यकता है जिसे आप उपयोगी उत्तर और प्रश्न पोस्ट करके कमा सकते हैं।) –