Cara Membuat Prosedur Tersimpan dalam PostgreSQL

Cara Membuat Prosedur Tersimpan Dalam Postgresql



Dengan PostgreSQL, adalah mungkin untuk mencipta prosedur tersimpan yang mentakrifkan pelbagai rutin yang harus dilaksanakan apabila dipanggil. Rutin ini terdiri daripada pernyataan SQL yang melaksanakan tugas yang ditetapkan pada pangkalan data anda. Sebagai contoh, anda boleh membuat prosedur tersimpan yang mengemas kini nilai dalam jadual anda apabila anda memanggilnya.

Prosedur tersimpan membantu dengan pengoptimuman pangkalan data dan dalam meningkatkan kebolehgunaan semula. Daripada perlu melaksanakan pertanyaan yang sama, anda boleh mencipta tugas sebagai prosedur tersimpan yang akan anda panggil bila-bila masa diperlukan. Anda akan mempelajari segala-galanya tentang prosedur tersimpan pada penghujung siaran ini.

Bekerja dengan Prosedur Tersimpan dalam PostgreSQL

Sebagai pengguna PostgreSQL, anda mungkin perasan bahawa fungsi PostgreSQL tidak melaksanakan transaksi. Walaupun mungkin untuk membuat transaksi, melakukan atau melancarkannya kembali ke keadaan sebelumnya tidak mungkin. Walau bagaimanapun, had ini dipintas menggunakan prosedur tersimpan.







Berikut ialah sintaks asas untuk membuat prosedur tersimpan dalam PostgreSQL:



BUAT ATAU GANTIKAN PROSEDUR nama_prosedur(

parameter[s] data_type

)

BAHASA plpsql;

SEBAGAI $$

ISYTIHAR

pembolehubah_jika_mana-mana jenis data

BERMULA

logik

TAMAT;

$$

Perkara utama yang perlu diperhatikan daripada sintaks yang diberikan ialah 'procedure_name' iaitu nama yang akan anda gunakan untuk prosedur tersimpan, parameter yang anda ingin sertakan dan jenis datanya, dan logik yang kebanyakannya adalah pernyataan SQL.



Mari berikan tiga contoh untuk membantu anda memahami cara membuat prosedur tersimpan dalam PostgreSQL.





Contoh 1: Prosedur Tersimpan untuk Mengira Kuasa Dua Nombor

Untuk contoh pertama kami, kami mencipta prosedur tersimpan yang menggunakan pernyataan 'NAIKKAN NOTIS' sebagai cara mencetak output ke terminal. Prosedur yang disimpan mengambil nilai integer yang anda berikan semasa memanggilnya dan mengira kuasa duanya.

Begini cara kami mencipta prosedur tersimpan:



Kami menamakan parameter kami sebagai 'num1', dan ia adalah integer. Untuk bahagian logik, kami mentakrifkan bagaimana ia mendapat kuasa dua 'num1' dan menyimpannya sebagai pembolehubah kuasa dua. Apabila kami melaksanakan arahan, kami mendapat output 'CREATE PROCEDURE' yang mengesahkan bahawa kami berjaya mencipta prosedur tersimpan dengan jayanya.

Tugas seterusnya ialah memanggil prosedur dan memberikan hujah yang diharapkan.

CALL procedure_name(argumen);

Anda akan mendapat output CALL yang menunjukkan bahawa prosedur tersimpan telah dilaksanakan, dan kami mendapat output yang dijangkakan yang, dalam kes ini, ialah kuasa dua hujah yang kami tambah.

Contoh 2: Prosedur Tersimpan untuk Memasukkan Nilai ke dalam Entri Jadual

Dua contoh berikut menunjukkan cara membuat prosedur tersimpan yang berfungsi dengan jadual pangkalan data. Mari cepat buat jadual 'pelajar' yang akan kami usahakan.

Untuk contoh ini, kami mencipta prosedur tersimpan yang membolehkan pengguna memasukkan nilai ke dalam jadual yang baru dibuat. Perhatikan cara kami menentukan parameter yang kami jangka akan ditambah sebagai argumen apabila kami memanggil prosedur tersimpan. Selain itu, kami mentakrifkan logik yang mengambil hujah tambahan dan melaksanakan pernyataan INSERT SQL pada jadual 'pelajar'.

Kita boleh menyemak prosedur tersimpan yang tersedia dengan menjalankan arahan berikut:

\df

Prosedur tersimpan pertama yang boleh kita lihat daripada output berikut ialah 'tambah_pelajar' yang kami buat sebelum ini.

Sekarang, mari kita panggil prosedur tersimpan untuk melaksanakannya. Imej berikut menunjukkan bagaimana kami mempunyai jadual kosong, tetapi kami memanggil prosedur tersimpan untuk menambah pelajar pertama:

Jika kami menyenaraikan nilai dalam jadual kami, perhatikan bagaimana argumen yang kami tambahkan dengan arahan prosedur panggilan ialah nilai untuk pelajar pertama kami dalam jadual kami. Begitulah cara anda membuat prosedur tersimpan untuk memasukkan nilai ke dalam jadual.

Ambil perhatian bahawa semasa membuat prosedur tersimpan, parameter yang anda tentukan mesti sepadan dengan yang dijangkakan dalam jadual anda untuk mengelakkan ralat. Selain itu, jenis data mesti sepadan.

Contoh 3: Prosedur Tersimpan untuk Mengemas kini Entri Jadual

Teruskan, mari buat prosedur tersimpan lain yang mengemas kini entri jadual. Jika anda ingin mempunyai cara cepat mengemas kini nilai dalam jadual kami, anda boleh membuat prosedur tersimpan kemas kini seperti berikut:

Tentukan lajur yang anda ingin kemas kini menggunakan kata kunci WHERE dan nilai baharu menggunakan kata kunci SET. Anda kemudiannya mesti menambah kata kunci COMMIT untuk mengekalkan perubahan.

Mari kita panggil prosedur tersimpan kemas kini dan tambahkan hujah yang dijangkakan: “student_id” dan kursus baharu.

Jika kami menyenaraikan entri dalam jadual kami, kami boleh mengesahkan bahawa kami mempunyai kursus yang dikemas kini untuk pelajar tertentu yang kami sasarkan. Begitulah cara prosedur tersimpan kemas kini berfungsi.

Kesimpulan

Anda boleh membuat sebarang prosedur tersimpan dalam PostgreSQL. Anda hanya perlu memahami sintaks untuk diikuti dan kemudian menentukan logik anda untuk prosedur yang disimpan. Dari sana, panggil prosedur tersimpan dan sahkan bahawa ia telah dilaksanakan seperti yang diharapkan. Siaran ini menerangkan tentang prosedur tersimpan dalam PostgreSQL dan memberikan contoh tentang cara menciptanya.