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

मैं Oracle में PL/SQL तालिका प्रकार से CSV स्ट्रिंग कैसे लौटा सकता हूँ?

इस प्रश्न में शामिल हुए बिना- आप तालिका प्रकार का उपयोग क्यों कर रहे हैं न कि तालिका (या अस्थायी तालिका) का, आप इसे इस तरह कर सकते हैं:

declare
  my_table varTableType;
  i varchar2(32767);
begin
  my_table := new
              varTableType('bbbb', 'ccca', 'ddda', 'eee', 'fffa', 'gggg');

  select trim(xmlagg(xmlelement(e, column_value || ','))
              .extract('//text()'))
    into i
    from table(my_table)
   where column_value like '%a';

  dbms_output.put_line(i);

end;

पंक्तियों को जोड़ने के और भी तरीके हैं- WM_CONCAT (यदि सक्षम हो) या LISTTAGG (11g R2 के बाद से) लेकिन

. का मूल विचार
select column_value 
from table(my_table) 
where column_value like '%a';

रहता है

sql के बिना एक और तरीका है:

declare
  my_table varTableType;
  i varchar2(32767);
begin
  my_table := new
              varTableType('bbbb', 'ccca', 'ddda', 'eee', 'fffa', 'gggg');

  FOR j IN my_table.first .. my_table.last LOOP

     IF my_table(j) like '%a' THEN
        i := i || my_table(j);
     END IF;

  END LOOP;

  dbms_output.put_line(i);

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. sqldeveloper त्रुटि संदेश:नेटवर्क एडेप्टर कनेक्शन त्रुटि स्थापित नहीं कर सका

  2. पीएलएसक्यूएल में प्रतिबिंब?

  3. किसी दिए गए पैकेज में घोषित सभी प्रकार के डेटा की जानकारी कैसे प्राप्त करें

  4. ट्रांजेक्शनस्कोप के अंदर बैच प्रविष्टि करते समय ORA-00604 त्रुटि

  5. Oracle BI:पिछले सप्ताह के सभी रिकॉर्ड चुनें