09 - Modul Pemrograman PL SQL - Function
09 - Modul Pemrograman PL SQL - Function
Pendukung Fungsi
PostgreSQL memiliki fungsi yang dapat mengubah suatu nilai dalam suatu kolom
atau barismenjadi huruf besar. Fungsi tersebut bernama upper(nama_kolom), berfungsi
memanggilfungsi upper dengan nama_kolom sebagaii argumen sehingga menghasilkan
nilai padakolom dalam huruf besar.
Berikut Struktur SQL untuk menampilkan data dalam huruf besar semua :
SELECT upper ([nama kolom]) FROM [nama tabel];
Berikut sintaksnya untuk menampilkan data dimana huruf pertama saja yang besar :
SELECT initcap ([nama kolom]) FROM [nama tabel];
Fungsi
Fungsi SQL adalah sebuah kumpulan query, biasanya query yang detail dan
panjang yang dibungkus menjadi satu dan disimpan dalam database dan kemudian
apabila diperlukan hanya tinggal mengaksesnya tanpa mengetikan query detail.
Sedangkan untuk memunculkan fungsi dapat menggunakan query \df.
1
MODUL PEMBELAJARAN
PROGRAM STUDI INFORMATIKA PJJ S1
Ada beberapa faktor yang perlu diperhatikan dalam membuat fungsi antara lain:
• Nama Fungsi (setiap fungsi harus memiliki nama sehingga bisa digunakan)
• Nomor dari fungsi argument
• Tipe data dari setiap argument (tipe data dari isi fungsi tersebut)
• Tipe dari hasil fungsi (tipe data dari hasil yang telah dijalankan oleh fungsi)
• Fungsi action (query yang akan dijalankan oleh fungsi)
• Bahasa yang digunakan oleh fungsi action
Contoh :
fungsi SQL untuk mencari jumlah pegawai dari tabel pegawai berikut :
Create function jumlah_pegawai()
Returns bigint
As ‘select count(*) as jumlah_pegawai from pegawai;’
Language ‘sql’;
Maka hasilnya sebagai berikut :
Select jumlah_pegawai();
Jumlah_pegawai
Fungsi PL/PGSQL
PL/PGSQL merupakan bahasa yang lain untuk membuat sebuah fungsi, biasanya
bahasa ini digunakan untuk menangani fungsi yang lebih kompleks. Pl/pgsql sudah
terdapat dalam instalasi PostgreSQL.
Keuntungan penggunaan Fungsi PL/PGSQL :
1. Meningkatkan kinerja karena mengurangi pengiriman kode dari klien ke server.
2. Meningkatkan keamanan karena pengaksesan data tertentu ditangani dalam
server.
3. Meningkatkan konsistensi data saat sejumlah aplikasi memanggil prosedur yang
sama;
4. Lebih aman ketika menggunakan PL/PGSQL karena fungsinya terdapat dalam
sebuah prosedur
2
MODUL PEMBELAJARAN
PROGRAM STUDI INFORMATIKA PJJ S1
Sebaliknya kelemahannya yaitu server akan lebih terbebani karena banyak proses yang
harus ditangani. Sedangkan query PL/PGSQL agar lebih mudah di pahami akan dibagi
menjadi 2 yaitu pembuatan fungsi dan pembuatan definisi.
Pembuatan definisi :
DECLARE nama_variable tipe_data /* deklarasi variabel, type /
BEGIN
/ prosedural dan SQL masuk disini seperti select, update dan sebagainya/
Return nama_variable / blok ini yang wajib */
END
Menghapus fungsi :
DROP FUNCTION nama_fungsi(paramater, parameter, parameter … );
Contoh :
DROP FUNCTION perkalian(integer);
3
MODUL PEMBELAJARAN
PROGRAM STUDI INFORMATIKA PJJ S1