Fungsi PostgreSQL untuk Mengembalikan Jadual

Fungsi Postgresql Untuk Mengembalikan Jadual



Kadangkala, anda mungkin ingin mencipta fungsi yang mengembalikan jadual dalam pangkalan data PostgreSQL anda untuk merangkum set hasil. Mencipta fungsi 'pgSQL' yang membolehkan anda mendapatkan semula rekod dan menggunakan pertanyaan pemulangan yang memaparkan set hasil sebagai jadual adalah mungkin. Siaran ini membimbing anda untuk mencipta fungsi PostgreSQL yang mengembalikan jadual.

Cara Mencipta Fungsi PostgreSQL untuk Mengembalikan Jadual

Apabila anda mempunyai pangkalan data PostgreSQL dan anda ingin menyemak rekod daripada jadual, menggunakan fungsi secara berkala adalah cara yang paling mudah, terutamanya fungsi PostgreSQL yang mengembalikan jadual dalam set keputusannya. Dengan cara ini, anda merangkum set hasil anda dan menggunakan pendekatan ini membantu dengan organisasi kod yang lebih baik.

Berikut ialah sintaks untuk mencipta fungsi PostgreSQL yang mengembalikan jadual:







BUAT ATAU GANTIKAN FUNGSI nama_fungsi(parameter_senarai)

RETURNS JADUAL(column_list)

SEBAGAI $$

MULAKAN RETURN QUERY(query);

TAMAT;

$$ BAHASA plpgsql

Perkara yang baik tentang mencipta fungsi sedemikian ialah ia membolehkan anda menentukan pelbagai 'column_list' dan bukannya mengembalikan satu nilai dari jadual anda. Mari kita berikan dua contoh untuk membantu kita memahami langkah yang perlu diikuti.



Contoh 1: Bekerja dengan Satu Input

Apabila mencipta fungsi yang mengembalikan jadual, anda mesti membekalkan hujah untuk digunakan dengan pertanyaan pulangan. Hujah boleh menjadi corak atau input tertentu. Contoh ini memberikan kes di mana kita menggunakan input tunggal sebagai hujah.



Berikut ialah jadual 'pelajar' yang akan kami gunakan untuk pertanyaan kami:





Dalam imej berikut, kami mencipta fungsi bernama 'get_student' yang mengambil INT sebagai hujah. Dalam bahagian RETURNS TABLE, kami mengembalikan jadual dengan empat lajur: 'id_pelajar', 'nama_pelajar', 'fakulti_pelajar' dan 'status_semasa'.



Semua lajur ini mendapat nilainya daripada pertanyaan pulangan yang kami tentukan. Perhatikan bahawa pertanyaan pemulangan menggunakan pernyataan WHERE menggunakan senarai parameter yang kami tentukan semasa mencipta fungsi.

Sebaik sahaja anda mencipta fungsi, anda akan mendapat output yang serupa dengan yang kami miliki sebelum ini yang mengesahkan bahawa fungsi PostgreSQL anda telah berjaya dibuat. Untuk mengesahkan ini dengan lebih lanjut, jalankan arahan berikut untuk menyenaraikan fungsi yang tersedia:

\df *get_student();

Kami menambah asterisk untuk memadankan mana-mana fungsi yang mempunyai nama yang ditentukan. Output menunjukkan bahawa kami mempunyai fungsi PostgreSQL kami dalam pangkalan data kami.

Langkah terakhir ialah menguji fungsi yang dibuat. Jalankan pernyataan 'pilih' untuk memanggil fungsi. Kemudian, tambahkan hujah yang diharapkan. Untuk kes kami, parameter adalah jenis INT. Oleh itu, kami menambah 1 sebagai hujah kami untuk mendapatkan semula rekod yang sepadan dengannya dan mengembalikan jadual seperti yang ditunjukkan dalam perkara berikut:

Contoh 2: Bekerja dengan Corak Input

Apabila tidak pasti nilai untuk digunakan dengan pertanyaan pemulangan, anda boleh menggunakan operator ILIKE untuk memadankan corak yang diberikan. Sebagai contoh, jika anda mempunyai nama dan hanya mengetahui bahagian rentetan, pengendali ILIKE membenarkan anda menggunakan simbol '%' untuk menentukan corak anda.

Kami menggunakan jadual berikut untuk kes ini dan menyasarkan lajur nama:

Kami mencipta fungsi yang serupa dengan yang kami lakukan sebelum ini. Walau bagaimanapun, jenis parameter telah berubah dan pertanyaan pemulangan menggunakan operator ILIKE yang ditambah sebagai hujah apabila memanggil fungsi.

Setelah fungsi itu sedia, kita boleh memanggilnya untuk mengembalikan jadual. Terdapat pelbagai cara untuk melakukannya. Sebagai contoh, jika corak carian mengandungi 'Jo' dalam rentetan, kami melaksanakan pertanyaan arahan seperti berikut:

Pilih * daripada get_details(‘%Jo%’);

Kami memadankan semua nilai dengan 'Jo' dalam rentetannya, memberikan kami dua rekod.

Jika kita hanya mengetahui bahagian terakhir rentetan, kita memutar pertanyaan dan menjalankannya seperti berikut:

Pilih * daripada get_details(‘%Tyson’);

Akhir sekali, jika kita mengetahui bahagian pertama rentetan, kita menambah simbol '&' selepas corak seperti yang ditunjukkan dalam yang berikut:

Pilih * daripada get_details(‘Tim%’);

Itu adalah contoh yang berbeza tentang cara menggunakan fungsi PostgreSQL untuk mengembalikan jadual.

Kesimpulan

PostgreSQL ialah pangkalan data yang berkuasa dengan pelbagai ciri. Apabila mencipta fungsi, anda boleh menetapkannya untuk mengembalikan jadual sebagai keputusan yang ditetapkan atas sebab yang berbeza termasuk mencapai pengkapsulan. Siaran ini membentangkan dua contoh mencipta dan menggunakan fungsi yang mengembalikan jadual dalam PostgreSQL.