Apa itu delimiter dalam mysql?
Assalamu’alaikum Wr. Wb. Segala puji saya haturkan kepada Allah swt yang telah memberi saya kesehatan sehingga dapat mengerjakan Laporan Praktikum Desain Basis Data ini dengan tepat waktu. Untuk lebih jelasnya mari kita simak langsung materi di bawah ini. FUNGSI DALAM MYSQL Store Procedure dan Function adalah rangkaian program yang disimpan dalam database dan dapat dipanggil oleh
program lain atau melalui SQL Prompt. Stored procedured ditulis dalam bentuk suatu Script. Function adalah kumpulan-kumpulan SQL berupa rountine yang di simpan dalam database MySQL Server. Biasanya function ini di kombinasikan dengan store pocedure atau bisa juga tidak di kombinasikan dengan store procedure. Sintak untuk membuat : Procedure
: CREATE PROCEDURE sp_name ([proc_parameter [,…]]) [characteristic ..] routine_body Function : CREATE FUNCTION sp_name ([func_parameter [,…]]) RETURNS type [characteristic ..] routine_body Keterangan : [IN | OUT | INOUT] param_name type Param_name type Semua type data yang valid di MySQL. LANGUAGE SQL [NOT] DETERMINISTIC {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } SQL SECURITY {DEFINER | INVOKER } COMMENT ‘string’ Statement SQL procedure yang valid. Berikut ini query membuat FUNCTION : DELIMITER $$ CREATE FUNCTION sf_tampil_siswa_kelas (p_kelas int) RETURNS INT DETERMINISTIC BEGIN DECLARE jml INT; SELECT COUNT(*) AS jml_kelas INTO jml FROM tb_siswa WHERE kelas = p_kelas; RETURN jml; END$$ DELIMITER ; penjelasannya sebagai berikut:
contoh pemanggilannya seperiti dibawah ini: select sf_tampil_siswa_kelas(“2”); sebuah function hanya bisa memberikan return berupa nilai saja dan tidak bisa berupa resutlset. Untuk penulisan DETEMINISTIC bisa ditulis secara implisit dengan memberikan setting global pada mysql dan secara default benilai NOT DETEMINISTIC , caranya dibawah ini: SET GLOBAL log_bin_trust_function_creators = 1; 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 :
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.
CREATE [OR REPLACE] FUNCTION nama_fungsi ( argtype , … ]) RETURNS tipe_data AS ‘definisi’ LANGUAGE ‘plpgsql’;
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;
DROP FUNCTION nama_fungsi(paramater, parameter, parameter … ); Contoh : DROP FUNCTION pembagian(text); TRIGER PADA MYSQL Pernyataan CREATE TRIGGER digunakan untuk membuat trigger, termasuk aksi apa yang dilakukan saat trigger diaktifkan. Trigger berisi program yang dihubungkan dengan suatu tabel atau view yang secara otomatis melakukan suatu aksi ketika suatu baris di dalam tabel atau view dikenai operasi INSERT, UPDATE atau DELETE. Query : CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt Keterangan :
BEFORE: Membuat trigger diaktifkan sebelum dihubungkan dengan suatu operasi. AFTER: Membuat trigger diaktifkan setelah dihubungkan dengan suatu operasi.
INSERT : trigger diaktifkan ketika sebuah record baru disisipkan ke dalam tabel. Contoh: statemen INSERT, LOAD DATA, dan REPLACE. UPDATE : trigger diaktifkan ketika sebuah record dimodifikasi. Contoh: statemen UPDATE. DELETE : trigger diaktifkan ketika sebuah record dihapus. Contoh: statemen DELETE dan REPLACE. Catatan : trigger_event tidak merepresentasikan statemen SQL yang diaktifkan trigger sebagai suatu operasi tabel. Sebagai contoh, trigger BEFORE untuk INSERT akan diaktifkan tidak hanya oleh statemen INSERT tetapi juga statemen LOAD DATA.
Contoh yang akan dibahas adalah mencatat kejadian-kejadian yang terjadi beserta waktunya pada tabel mahasiswa, dan catatan-catatan tadi disimpan dalam tabel yang lain, misal log_mhs. Misalkan struktur tabel log_mhs adalah sebagai berikut. mysql> describe log_mhs; Contoh 1: mysql> create trigger ins_mhs after insert on mahasiswa -> for each row insert into log_mhs values(‘Tambah data’,now()); mysql> insert into mahasiswa values(‘00631′,’Hanif’,’Kalasan’,’P01′); mysql> select * from log_mhs; Dari contoh diatas dapat dilihat bahwa ketika satu record pada tabel mahasiswa disisipkan (insert), maka secara otomatis tabel log_mhs akan disisipkan satu record, yaitu kejadian ‘Tambah data’ dan waktu saat record pada tabel mahasiswa disisipkan. HASIL PRAKTIKUM
Kemudian jalankan hasilnya dengan menSELECT fungsi tersebut !
PERBANDINGAN
KESIMPULAN Berdasarkan apa yang telah kita pelajari pada praktikum ini tentang Fungsi, plpgsql dan trigger maka dapat disimpulkan bahwa antara PostgresSQL dengan MySQL sangatlah berbeda. Dan itu banyak juga perbedaannya. Semoga sedikit ilmu yang kami tularkan nantinya akan dapat mempermudah pembaca dalam memecahkan masalah-masalah atau mungkin tugas-tugas pembaca sekalian. DAFTAR PUSTAKA
Apa tiga mode parameter untuk prosedur?Di MySQL, parameter stored procedure dibedakan menjadi tiga mode : IN, OUT, dan INOUT. Mode ini pada dasarnya merupakan kombinasi dari mode IN dan OUT.
Apa itu Index di MySQL?Index adalah sebuah objek dalam sistem database yang dapat mempercepat proses pencarian (query) data.
Apa fungsi dari delimiter pada MySQL?Maka dari sini kita dapat melihat bahwa fungsi delimiter adalah untuk mengemas kumpulan statement sampai diakhiri dengan delimiter_karakter dan untuk menutup delimiter itu sendiri juga harus di akhiri dengan semicolon, jika tidak maka kita akan tetap berada didalam delimiter.
|