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

Oracle फ़ंक्शन में सेट किए गए डायनामिक परिणाम को कैसे लौटाएं?

फ़ंक्शन को संकलित मानते हुए, प्रयास करें:

SELECT * 
  FROM TABLE(strtokenizer('a,b,c',','));

संदर्भ:

फ़ंक्शन को ठीक करने की आवश्यकता है - उपयोग करें:

CREATE OR REPLACE FUNCTION StrTokenizer (string IN VARCHAR2, 
                                         delimiter IN VARCHAR2)
RETURN key_value_table AS v_ret key_value_table
BEGIN
  SELECT CAST(MULTISET(SELECT LEVEL k, 
                              SUBSTR(STRING_TO_TOKENIZE, DECODE(LEVEL, 1, 1, INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL-1)+1), 
                              INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL) - DECODE( LEVEL, 1, 1, INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL-1)+1)) v
                         FROM (SELECT string || delimiter AS STRING_TO_TOKENIZE , 
                                      delimiter AS DELIMITER
                                 FROM DUAL)
                   CONNECT BY INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL)>0 
                     ORDER BY level ASC) AS key_value_table)
    INTO v_ret
    FROM DUAL;

  RETURN v_ret;

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. त्रुटि- ORA-00060:संसाधन की प्रतीक्षा करते समय गतिरोध का पता चला

  3. पिवट टेबल ओरेकल - पंक्ति वस्तुओं को कॉलम में कैसे बदलें

  4. अनुक्रम मान के साथ 12c ऑटोपॉपुलेटिंग कॉलम

  5. पीएल एसक्यूएल में बड़े टेक्स्ट/सीएसवी फाइल को कई फाइलों में विभाजित करें