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

Oracle पाइपलाइन फ़ंक्शन

आपको यह इसलिए मिलता है क्योंकि आपका कोड आउटपुट प्रकार को एक स्केलर प्रदान करता है। असाइनमेंट लक्ष्य से मेल खाने के लिए आपको वेरिएबल डालना होगा। तो:

   SELECT type_struct(counter)
    INTO rec
    FROM dual;

आपको आवश्यक रूप से एक पाइपलाइन फ़ंक्शन की आवश्यकता नहीं है। हम table() . का उपयोग कर सकते हैं किसी भी फ़ंक्शन के साथ जो संग्रह लौटाता है।

यहां एक बहुत ही सरल कार्यान्वयन है, जिसके लिए केवल एक यूडीटी की आवश्यकता है।

CREATE TYPE tp_numbers AS TABLE OF number;
/
CREATE OR REPLACE FUNCTION gen_nums (na NUMBER, nb NUMBER)
RETURN tp_numbers 
IS
    return_value tp_numbers ;
BEGIN
    SELECT (na + level) - 1 
    bulk collect    INTO return_value  
    FROM dual
    connect by level <= nb;

    RETURN return_value ;
END gen_nums;
/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओआरए 00936 गुम अभिव्यक्ति त्रुटि को कैसे हल करें?

  2. Oracle JDBC DriverManager.getConnection () हैंग हो जाता है

  3. PL/SQL:ORA-00904:अमान्य पहचानकर्ता &PL/SQL:कथन पर ध्यान नहीं दिया गया&PLS-00364:लूप इंडेक्स वैरिएबल का उपयोग अमान्य है

  4. NHibernate के साथ एकाधिक SQL कथन निष्पादित करें

  5. SQL त्रुटि:ORA-00933:SQL आदेश ठीक से समाप्त नहीं हुआ