Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

विचारों का Oracle खोज पाठ

यह 12c में आसान हो जाता है, जहां आप इसका उपयोग कर सकते हैं

select *
from   all_views v
where  lower(v.text_vc) like '%abc%';

यह मानता है कि आप जिस टेक्स्ट स्ट्रिंग की तलाश कर रहे हैं वह पहले 4000 वर्णों में है। आपके पास रिपोर्ट में कोई भी दृश्य शामिल हो सकता है जहां text_length चेतावनी के साथ> 4000 है।

पुराने संस्करणों में (या 4000 वर्ण प्रतिबंध से बचने के लिए), आप इस तरह एक PL/SQL लूप आज़मा सकते हैं:

begin
    dbms_output.put_line('Owner                          View name');
    dbms_output.put_line('------------------------------ -------------------------------');

    for r in (
        select v.owner, v.view_name, v.text
        from   all_views v
        where  v.owner <> 'SYS'
    )
    loop
        if lower(r.text) like '%abc%' then
            dbms_output.put_line(rpad(r.owner,31) || r.view_name);
        end if;
    end loop;
end;

PL/SQL परोक्ष रूप से SQL LONG को रूपांतरित करता है 32K PL/SQL स्ट्रिंग का मान।

(12.2.0.1.0 में मेरे परीक्षणों में, यह ORA-06502: PL/SQL: numeric or value error के साथ विफल रहा। select . पर कथन जब मेरे कर्सर में SYS.DBA_SCHEDULER_RUNNING_JOBS शामिल था या SYS."_user_stat" , भले ही लंबे टेक्स्ट वाले अन्य दृश्यों को सफलतापूर्वक प्रबंधित किया गया हो, और मुझे यकीन नहीं है कि क्यों। इसमें कुछ समस्या हो सकती है जो मुझे दिखाई नहीं दे रही है।)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle 11g:एकाधिक कॉलम को अनपिवट करें और कॉलम का नाम शामिल करें

  2. Oracle में शामिल होने के साथ मेरे अपडेट स्टेटमेंट में क्या गलत है?

  3. एक खाली तालिका में धीमी क्वेरी निष्पादन। (बड़ी मात्रा में सम्मिलित करने के बाद)

  4. क्या ओरेकल राउनम का मूल्यांकन करने से पहले सभी पंक्तियों को प्राप्त करता है?

  5. सूची से एसक्यूएल रैंडम स्ट्रिंग