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

आईडी या इंडेक्स नंबर द्वारा कॉलम का संदर्भ कैसे लें

आपको डायनेमिक SQL के किसी न किसी रूप का उपयोग करना चाहिए। यहां एक त्वरित उदाहरण दिया गया है:

यह SQL स्टेटमेंट बनाता है जो आपकी इच्छित तालिका से '/' अलग किए गए कॉलम का चयन करेगा। फिर यह उस SQL ​​​​कथन को चलाने के लिए गतिशील SQL का उपयोग करता है।

DECLARE
  p_table_name VARCHAR2(30) := 'DBA_OBJECTS';
  l_sql VARCHAR2(32000);

  TYPE varchar2tab IS TABLE OF VARCHAR2(32000);
  l_array varchar2tab;

BEGIN
  SELECT 'SELECT ' || listagg(column_name,' ||''/''||') within group ( order by column_id ) || ' FROM ' || owner || '.' || table_name || ' WHERE ROWNUM <= 100'
  INTO l_sql
  FROM dba_tab_columns
  where table_Name = 'DBA_OBJECTS'
  group by owner, table_Name;

  EXECUTE IMMEDIATE l_sql BULK COLLECT INTO l_array;

  FOR i in l_array.first .. l_array.last LOOP
    dbms_output.put_line(l_array(i));
  END LOOP;
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्प्रिंग बूट एप्लिकेशन के लिए स्कीमा.एसक्यूएल में मौजूद होने पर ड्रॉप टेबल का उपयोग करने में असमर्थ

  2. ओरेकल में वैश्विक अस्थायी तालिकाओं से बचने के तरीके

  3. मैं SYS के स्वामित्व वाली वस्तुओं पर ट्रिगर क्यों नहीं बना सकता?

  4. एसक्यूएल राज्य [99999]; त्रुटि कोड [17004]; अमान्य स्तंभ प्रकार:1111 स्प्रिंग SimpleJdbcCall के साथ

  5. टूटी हुई उप-चयन वाली क्वेरी के परिणामस्वरूप त्रुटि होनी चाहिए लेकिन पंक्तियों को वापस करना चाहिए