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

Contoh Fungsi Oracle Pipelined

Tutorial Oracle ini menunjukkan cara membuat fungsi Pipelined. Ikuti langkah-langkah berikut:

1. Buat Objek Jenis

Untuk fungsi pipelined Oracle, kita harus memiliki objek tipe yang melaluinya kita dapat mengirim baris. Buat satu seperti di bawah ini:

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

2. Buat Fungsi Tersimpan sebagai PIPELINED

Fungsi berikut menggunakan tipe di atas untuk mengembalikan nilai. Dan baris menghasilkan satu per satu melalui kursor berdasarkan kueri 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. Panggil Fungsi Menggunakan SQL Query

Sekarang akhirnya, kita dapat memanggil fungsi di atas dan mendapatkan baris yang diinginkan:

select * from TABLE(get_values());

Keluaran:

COLUMN_VALUE
LINE1
LINE2
LINE3
LINE4
LINE5
LINE6
LINE7
LINE8
LINE9
LINE10
10 baris 20

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menyetel atau Menguji Kinerja Kode PLSQL di Oracle D2k Forms

  2. REGEXP_INSTR() Fungsi di Oracle

  3. Mengapa memilih kolom yang ditentukan, dan semuanya, salah di Oracle SQL?

  4. Apa pengaturan untuk melihat bagian waktu dengan tanggal di pengembang Oracle PL/SQL?

  5. Mengaktifkan TLS di R12.1