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

Oracle पाइपलाइन फंक्शन उदाहरण

यह ओरेकल ट्यूटोरियल दिखाता है कि पाइपलाइन फ़ंक्शन कैसे बनाएं। इन चरणों का पालन करें:

1. टाइप ऑब्जेक्ट बनाएं

Oracle पाइपलाइन फ़ंक्शन के लिए, हमारे पास एक प्रकार की वस्तु होनी चाहिए जिसके माध्यम से हम पंक्तियाँ भेज सकते हैं। नीचे के रूप में एक बनाएं:

CREATE OR REPLACE TYPE t_list AS TABLE OF VARCHAR2(2000);
/

2. एक संग्रहित फ़ंक्शन को PIPELINED के रूप में बनाएं

निम्न फ़ंक्शन मानों को वापस करने के लिए उपरोक्त प्रकार का उपयोग करता है। और पंक्तियाँ एक SQL क्वेरी के आधार पर कर्सर के माध्यम से एक-एक करके उत्पन्न करती हैं:

CREATE OR REPLACE FUNCTION get_values RETURN t_list
     PIPELINED
IS   l_list t_list;
     w_row_count   NUMBER := 0;
BEGIN
          for cur in
          ( SELECT 'LINE' || level as value
          FROM dual CONNECT BY
               level <= 20
               ) loop
              PIPE ROW ( cur.value );
                        w_row_count := w_row_count + 1;
          end loop;
     dbms_output.put_line('Total ' || w_row_count || ' rows selected');
END get_values;
/

3. SQL क्वेरी का उपयोग करके फ़ंक्शन को कॉल करें

अब अंत में, हम उपरोक्त फ़ंक्शन को कॉल कर सकते हैं और वांछित पंक्तियों को प्राप्त कर सकते हैं:

select * from TABLE(get_values());

आउटपुट:

COLUMN_VALUE
LINE1
LINE2
LINE3
LINE4
LINE5
LINE6
LINE7
LINE8
LINE9
LINE10
20 की 10 पंक्तियाँ

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या डेटाबेस से django मॉडल उत्पन्न करना संभव है?

  2. Oracle:ब्लॉब्स वाली तालिका को एक .sql फ़ाइल में निर्यात करें जिसे फिर से आयात किया जा सकता है

  3. Oracle में एक SELECT क्वेरी से एक वैरिएबल घोषित करना और उसका मान सेट करना

  4. क्या डेटाबेस संरचना में परिवर्तन के लिए कोई संस्करण नियंत्रण प्रणाली है?

  5. पीएल/एसक्यूएल में अपवाद कैसे बढ़ाएं?