Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

cara mengembalikan hasil dinamis yang diatur dalam fungsi Oracle

Dengan asumsi fungsi dikompilasi, coba:

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

Referensi:

Fungsinya perlu diperbaiki - gunakan:

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. Hasilkan file XML dengan tag XML yang Disesuaikan dari tabel database Oracle

  2. PL/SQL:bagaimana cara meminta input pengguna dalam suatu prosedur?

  3. Koneksi ke Oracle bekerja melalui aplikasi konsol dan tidak bekerja melalui layanan web

  4. Cara Memindahkan File dari Satu Direktori ke Direktori Lain Menggunakan PL SQL

  5. Kunci Pesimis JPA Tidak Berfungsi