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

आप वैरिएबल का उपयोग करके डायनेमिक क्वेरी में IN क्लॉज कैसे निर्दिष्ट करते हैं?

जैसे @ सत्य लिंक में, आप वर्रे को बांध सकते हैं (मैंने @ कोडो उदाहरण लिया):

CREATE OR REPLACE TYPE str_tab_type IS VARRAY(10) OF VARCHAR2(200);
/
DECLARE
  l_str_tab str_tab_type;
  l_count NUMBER;
  v_sql varchar2(3000);
BEGIN
  l_str_tab := str_tab_type();
  l_str_tab.extend(2);
  l_str_tab(1) := 'TABLE';
  l_str_tab(2) := 'INDEX';

  v_sql := 'SELECT COUNT(*) FROM all_objects WHERE object_type IN (SELECT COLUMN_VALUE FROM TABLE(:v_list))';

  execute immediate v_sql into l_count using l_str_tab;

  dbms_output.put_line(l_count);
END;
/

अद्यतन करें: पहली कमांड को इसके साथ बदला जा सकता है:

CREATE OR REPLACE TYPE str_tab_type IS TABLE OF VARCHAR2(200);
    /

फिर कॉल करें:

l_str_tab.extend(1);

जब भी आप कोई मूल्य जोड़ते हैं



  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 में अशक्त बनाम खाली स्ट्रिंग

  2. ओरेकल:एक बड़ी एक्सएमएल फाइल लोड हो रही है?

  3. Oracle 10g एक्सप्रेस होम पेज नहीं आ रहा है

  4. Oracle अनुक्रम ट्रिगर बनाना

  5. जांचें कि क्या यह Oracle में एक संख्या फ़ंक्शन है