Fungsi PostgreSQL untuk Mengembalikan Tabel

Fungsi Postgresql Untuk Mengembalikan Tabel



Terkadang, Anda mungkin ingin membuat fungsi yang mengembalikan tabel di database PostgreSQL Anda untuk merangkum kumpulan hasil. Dimungkinkan untuk membuat fungsi “pgSQL” yang memungkinkan Anda mengambil catatan dan menggunakan kueri pengembalian yang menampilkan kumpulan hasil sebagai tabel. Posting ini memandu Anda dalam membuat fungsi PostgreSQL yang mengembalikan tabel.

Cara Membuat Fungsi PostgreSQL untuk Mengembalikan Tabel

Bila Anda memiliki database PostgreSQL dan ingin memeriksa catatan dari tabel, menggunakan fungsi secara berkala adalah cara yang paling mudah, terutama fungsi PostgreSQL yang mengembalikan tabel dalam kumpulan hasil. Dengan cara ini, Anda merangkum kumpulan hasil Anda, dan menggunakan pendekatan ini membantu pengorganisasian kode yang lebih baik.

Berikut ini adalah sintaks untuk membuat fungsi PostgreSQL yang mengembalikan tabel:







BUAT ATAU GANTI FUNGSI nama_fungsi(daftar_parameter)

TABEL PENGEMBALIAN(kolom_daftar)

SEBAGAI $$

MULAI KEMBALI QUERY(kueri);

AKHIR;

$$ BAHASA plpgsql

Hal yang baik tentang membuat fungsi seperti itu adalah memungkinkan Anda menentukan berbagai “daftar_kolom” alih-alih mengembalikan satu nilai dari tabel Anda. Mari kita lihat dua contoh untuk membantu kita memahami langkah-langkah yang harus diikuti.



Contoh 1: Bekerja dengan Satu Input

Saat membuat fungsi yang mengembalikan tabel, Anda harus memberikan argumen untuk digunakan dengan kueri pengembalian. Argumennya bisa berupa pola atau masukan tertentu. Contoh ini memberikan kasus di mana kita menggunakan satu masukan sebagai argumen.



Berikut ini adalah tabel “siswa” yang akan kita gunakan untuk query kita:





Pada gambar berikut, kita membuat fungsi bernama “get_student” yang menggunakan INT sebagai argumennya. Di bagian RETURNS TABLE, kami mengembalikan tabel dengan empat kolom: “id_siswa”, “nama_siswa”, “fakultas_siswa”, dan “status_saat ini”.



Semua kolom ini mendapatkan nilainya dari kueri pengembalian yang kami tentukan. Perhatikan bahwa kueri pengembalian menggunakan pernyataan WHERE menggunakan daftar parameter yang kita tentukan saat membuat fungsi.

Setelah Anda membuat fungsinya, Anda akan mendapatkan output serupa dengan yang kami miliki sebelumnya yang mengonfirmasi bahwa fungsi PostgreSQL Anda berhasil dibuat. Untuk memverifikasi ini lebih lanjut, jalankan perintah berikut untuk mencantumkan fungsi yang tersedia:

\df *get_siswa();

Kami menambahkan tanda bintang untuk mencocokkan fungsi apa pun yang memiliki nama tertentu. Outputnya menunjukkan bahwa kita memiliki fungsi PostgreSQL di database kita.

Langkah terakhir adalah menguji fungsi yang dibuat. Jalankan pernyataan 'pilih' untuk memanggil fungsi tersebut. Kemudian, tambahkan argumen yang diharapkan. Untuk kasus kami, parameternya bertipe INT. Jadi, kami menambahkan 1 sebagai argumen kami untuk mengambil catatan yang cocok dan mengembalikan tabel seperti yang ditunjukkan berikut ini:

Contoh 2: Bekerja dengan Pola Input

Jika tidak yakin dengan nilai yang akan digunakan dengan kueri pengembalian, Anda dapat menggunakan operator ILIKE untuk mencocokkan pola tertentu. Misalnya, jika Anda memiliki nama dan hanya mengetahui bagian dari string, operator ILIKE memungkinkan Anda menggunakan simbol “%” untuk menentukan bagaimana pola Anda nantinya.

Kami menggunakan tabel berikut untuk kasus ini dan menargetkan kolom nama:

Kami membuat fungsi yang mirip dengan yang kami lakukan sebelumnya. Namun, tipe parameter telah berubah dan kueri pengembalian menggunakan operator ILIKE yang ditambahkan sebagai argumen saat memanggil fungsi.

Setelah fungsinya siap, kita dapat memanggilnya untuk mengembalikan tabel. Ada berbagai cara untuk melakukannya. Misalnya, jika pola pencarian berisi “Jo” dalam string, kami menjalankan kueri perintah sebagai berikut:

Pilih * dari get_details('%Jo%');

Kami mencocokkan semua nilai dengan “Jo” dalam stringnya, memberi kami dua catatan.

Jika kita hanya mengetahui bagian terakhir dari sebuah string, kita memutar query dan menjalankannya sebagai berikut:

Pilih * dari get_details('%Tyson');

Terakhir, jika kita mengetahui bagian pertama dari string, kita menambahkan simbol “&” setelah pola seperti yang ditunjukkan pada gambar berikut:

Pilih * dari get_details('Tim%');

Itulah beberapa contoh cara menggunakan fungsi PostgreSQL untuk mengembalikan tabel.

Kesimpulan

PostgreSQL adalah database yang kuat dengan banyak fitur. Saat membuat fungsi, Anda dapat mengaturnya untuk mengembalikan tabel sebagai hasil yang ditetapkan karena berbagai alasan termasuk mencapai enkapsulasi. Postingan ini menyajikan dua contoh pembuatan dan penggunaan fungsi yang mengembalikan tabel di PostgreSQL.