आप हालांकि यह थोड़ा घुमावदार है किसी एक क्वेरी के साथ ऐसा कर सकते हैं। इस क्वेरी स्ट्रिंग 'JONES'
select table_name,
column_name
from(select table_name,
column_name,
to_number(
extractvalue(
xmltype(
dbms_xmlgen.getxml(
'select count(*) c from ' || table_name ||
' where to_char(' || column_name || ') = ''JONES'''
)
),
'ROWSET/ROW/C'
)
) cnt
from (select utc.*, rownum
from user_tab_columns utc
where data_type in ('CHAR', 'VARCHAR2')))
where cnt >= 0
ध्यान दें कि यह एक अनुकूलित किसी एक क्वेरी के साथ count the rows in every table को लॉरेंट श्नाइडर की क्वेरी का संस्करण है के लिए वर्तमान स्कीमा में सभी CHAR और VARCHAR2 कॉलम खोज करेंगे।
स्रोत
2011-03-07 21:37:53
संभावित डुप्लिकेट [एक विशिष्ट मूल्य (ओरेकल) के लिए सभी टेबल्स में सभी फ़ील्ड खोजें] (http://stackoverflow.com/questions/208493/search-all-fields-in-all-tables-for-a- विशिष्ट-मान-ओरेकल) –
plz – Royson
फिर भी एक शिकार की जाँच करें। लेकिन अगर आप chage पिछले 'जहां cnt> = 0' 'cnt> 0' के लिए, यह एक त्रुटि देता है। कि पर काबू पाने के लिए, बस एक बाहरी क्वेरी से संपूर्ण क्वेरी लपेट, इस तरह: चयन x * (QUERY के ऊपर) से जहां x.cnt> 0। –