Membuat stored procedure mysql

Membuat stored procedure mysql



Assalamu'alaikum wr. wb
Ketika kita membuat aplikasi berbasis database, kita mulai kesulitan dengan CRUD. Apakah CRUD tersebut error atau tidak, dan kita harus mencari kesalahan tersebut dengan mengikuti alur program yang sudah dibuat. Hal ini tentunya sangat merepotkan. apalagi jika tabel yang kita gunakan cukup banyak. Solusi untuk hal tersebut adalah Stored procedure, Trigger, dan Function. Dengan Stored procedure, Trigger, dan Function, kita bisa membuat program CRUD langsung dari MySQL, sehingga program lebit tertata rapi dan mudah untuk diperbaiki

Stored procedure, Trigger, dan function juga berguna untuk SELECT di MySQL. Karena dengan hal tersebut, kita hanya perlu memanggil stored procedure,Trigger, dan function dari MySQL tanpa perlu mengetik ulang query, sehingga hal tersebut mempercepat pembuatan program dan meringkas program dengan semestinya

Tutorial yang akan saya berikan ini merupakan tutorial tentang cara membuat stored procedure, trigger, dan function di MySQL dengan menggunakan phpMyAdmin. Ketiganya memiliki cara yang sama yaitu ada di menu bar routines. di menu tersebut, kita bisa membuat ketiganya dalam satu fitur. Menurut saya itu sangat efisien. Dengan adanya fitur-fitur ini kita tidak perlu lagi mengetikkan program kecuali hanya CRUD saja




Baca Juga
  • Psiphon3, Aplikasi VPN untuk PC
  • Membuat Function dan Stored Procedure SQL Server 2014
  • Array 1 Dimensi, 2 Dimensi, 3 Dimensi menggunakan bahasa C++
Untuk memulai membuatnya, kita hanya perlu memilih database yang akan kita gunakan. Dalam hal ini saya menggunakan database yang saya buat disini. Pada menu bar bagian atas daftar tabel terdapat beberapa menu. pilihlah routines, lalu add routines





Hal diatas adalah langkah awal untuk membuat stored procedure, trigger, dan function menggunakan phpMyAdmin. Berikut ini merupakan tutorialnya

1. Prosedur Tersimpan

Stored Procedure adalah salah satu object routine yang tersimpan pada database MySQL dan dapat berfungsi untuk menggantikan berbagai kumpulan perintah yang sering kita gunakan. Perintah-perintah tersebut salah satunya adalah CRUD, Sorting tabel, dan SELECT

Seperti yang saya jelaskan sebelumnya. disini saya hanya memberikan tutorial tentang membuat prosedur di phpMyAdmin. Untuk membuatnya, kita hanya perlu menyiapkan perintah yang akan dijadikan procedure yang kemudian kita buat procedure tersebut di phpMyAdmin menggunakan menu routines

  • Pada kolom Nama Rutin, tulislah insert_dosen
  • Pada kolom Type, pilihlah Procedure
  • Setelah itu, ada parameter kolom. disini kita hanya perlu memberikan parameter yang dibutuhkan saja. Dalam hal ini kolom di tabel tb_dosen(yang akan kita input adalah tabel tb_dosen). Usahakan parameter tipe data sama dengan tipe data pada tiap kolom tb_dosen. Berikut merupakan parameter yang digunakan

    DirectionNameTypeLength/ValuesOptionsINnama_parameterVarchar50CharINjkel_parameterVarchar11CharINalamat_parameterTextnullChar
    Keterangan. Untuk Direction dan Option tidak perlu diubah-ubah. biarkan seperti itu saja
  • Untuk SQL Data Access, pilihlah Containts SQL
  • Untuk Definition, disinilah proses CRUD dimasukkan
    Berikut merupakan contoh perintah crud yang akan dimasukkan ke definisi dalam prosedur

    MENYISIPKAN


    berikut merupakan contoh procedure insert pada MySQL. dengan contoh dibawah ini, mungkin pembaca yang baru mempelajari procedure, bisa membuat Procedure insert pada database MySQL menggunakan phpMyAdmin

    MULAI
         MASUKKAN   KE DALAM   tb_dosen
                     (nama_dosen,   jkel, alamat)
         NILAI       (nama_parameter,  jkel_parameter,  alamat_parameter);
    AKHIR  


    berikut ini merupakan tampilan gambar keseluruhan dalam prosedur insert di MySQL. Lalu klik tombol go


    Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah ini

    BUAT  definer=`root`@`localhost` PROCEDURE `insert_dosen`(IN `nama_parameter` varchar(50), IN `jkel_parameter` varchar(11), IN `alamat_parameter` text)
    MULAI MASUKKAN   KELUAR   tb_dosen
                   (
                               nama_dosen,
                               jkel,
                               alamat
                   )
                   NILAI
                   (
                               nama_parameter,
                               parameter_jkel,
                               alamat_parameter
                   ); END



    MEMPERBARUI


    Untuk Update, kita perlu menambahkan satu parameter lagi. Yaitu id_parameter sebagai klausa WHERE. Seperti yang dijelaskan dalam CRUD di MySQL bahwa untuk perintah update, kita perlu memberikan penentu nilai mana data yang akan diubah merupakan data yang memiliki nilai tertentu. Jika tidak, maka semua data akan diupdate. disini saya memberikan contoh update dengan value id tertentu saja
    berikut merupakan contoh procedure update pada MySQL. dengan contoh dibawah ini, mungkin pembaca yang baru mempelajari prosedur, bisa membuat Update prosedur pada database MySQL menggunakan phpMyAdmin
    DirectionNameTypeLength/ValuesOptionsINid_parameterintegernullCharINnama_parameterVarchar50CharINjkel_parameterVarchar11CharINalamat_parameterTextnullChar

    MULAI
         UPDATE   tb_dosen
         SET      nama_dosen   = nama_parameter,
                jkel   =   jkel_parameter,
                alamat   =   alamat_parameter
         DI MANA    id_dosen   = id_parameter;
    AKHIR  


    berikut ini merupakan tampilan gambar keseluruhan dalam prosedur insert di MySQL. Lalu klik tombol go



    Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah ini

    BUAT  definer=`root`@`localhost` PROCEDURE `update_dosen`(IN `id_parameter` int, IN `nama_parameter` varchar(50), IN `jkel_parameter` varchar(11), IN `alamat_parameter` text)
    MULAI PERBARUI   tb_dosen
       SET      nama_dosen   = nama_parameter,
              jkel   =   jkel_parameter,
              alamat=   alamat_parameter
       DI MANA    id_dosen   = id_parameter;END



    MENGHAPUS


    berikut merupakan contoh procedure Delete pada MySQL. dengan contoh dibawah ini, mungkin pembaca yang baru mempelajari prosedur, bisa membuat Prosedur hapus pada database MySQL menggunakan phpMyAdmin
    Berbeda dengan INSERT dan UPDATE. Untuk DELETE, kita hanya memerlukan satu parameter saja. Yaitu id, karena jika tidak ada value, maka semua data akan terhapus

    DirectionNameTypeLength/ValuesOptionsINid_parameterintegernullChar

    MULAI
         HAPUS   tb_dosen
         DI MANA    id_dosen   = id_parameter;
    AKHIR  



    berikut ini merupakan tampilan gambar keseluruhan dalam prosedur insert di MySQL. Lalu klik tombol go


    Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah ini

    BUAT  definer=`root`@`localhost` PROCEDURE `delete_dosen`(IN `id_parameter` int)
    MULAI HAPUS
       DARI     tb_dosen
       DI MANA    id_dosen   = id_parameter;END

  • Setelah semuanya selesai, silahkan jalankan dengan menggunakan perintah CALL [NAMA_PROCEDURE] [Paramter_n]
    Sebagai contoh, saya akan memanggil prosedur insert_dosen (nama_parameter, jkel_parameter, alamat_parameter)

    panggil   insert_dosen   ('Prof. Dr, Rudi Pangestu S.Pd',   'Laki-laki', 'jl.Monjali')  



    Lalu Klik go dan lihat hasilnya


2. Pemicu

Trigger adalah sebuah script perintah MySQL yang memicu suatu kejadian dalam MySQL berupa sebuah aksi CRUD setelah syarat tertentu(setelah atau sebelum)

Berikut merupakan contoh trigger mysql. Dengan memberikan Contoh ini, semoga saja bisa membuat pembaca semakin paham denan trigger yang ada di MySQL. Contoh yang akan saya berikan ini merupakan contoh membuat trigger menggunakan XAMPP

Untuk memulainya, alangkah baiknya jika kita membuat 1 tabel lagi. yaitu tabel status yang berelasi one to one pada tb_dosen

tb_status
NamaTipe DataIndexid_statusIntegerPrimary key dan foreign key tb_dosen(id_dosen)statusvarchar(12)null
Lalu pilih tb_status di menu sebelah kiri, dan di menu bar pilih trigger. lalu pilih add trigger
  • pada Trigger Name, tulislah trigger_insert_status
  • Pada Table, pilihlah tb_dosen
  • Pada Time, pilihlah After
  • Untuk Event, pilihlah INSERT
  • Untuk Definisi, disini kita buat script yang merupakan perintah untuk menambah data di tb_status
    buatlah script dibawah ini di kolom definisi

    MULAI
         MASUKKAN   KE DALAM   tb_status
                     (id_status,
                       status)
         NILAI       (baru.id_dosen,
                     'Aktif');
    AKHIR  


    Berikut ini adalah hasil gambarnya


  • Apabila ingin membuat trigger secara manual, bisa gunakan script seperti dibawah ini

    BUAT   TRIGGER   `trigger_insert_status` after INSERT
    AKTIF   `tb_dosen`
    UNTUK   MASING-MASING   baris
    mulai
       MASUKKAN   KELUAR   tb_status_dosen
                   (id_status,
                    status)
       NILAI       (baru.id_dosen,
                   'Aktif');
    akhir  

  • Setelah semua hal diatas sudah dilakukan, kita hanya perlu menginput data tb_dosen, karena pada dasarnya trigger tidak bisa dipanggil

    telepon   insert_dosen('Dr. Maguwoharjo',   'laki-laki', 'Jl.Gamping')  



    lihatlah pada tb_status_dosen. sudah ada data yang terinput



3. Fungsi

Fungsi adalah suatu bagian dari program yang digunakan untuk mengerjakan suatu tugas tertentu yang mengembalikan suatu nilai untuk dikembalikan ke program pemanggil yang letaknya dipisahkan dari bagian program yang berfungsi

berikut ini merupakan cara membuat function di phpMyAdmin. Dengan membuat function tersebut, maka programmer hanya tinggal memanggilnya di program saja. tanpa perlu mengetik ulang. sehingga phpMyAdmin bisa bergunal lebih banyak

Saat ini yang akan saya berikan adalah contoh function di MySQL untuk menampilkan id_mahasiswa, berdasarkan kelas. pernahkah anda melihat id yang memiliki huruf dan angkan seperti "A001", ''10. 12. 0001"? Mungkin memang yang mereka panggil adalah id, namun pengalaman saya ketika pendadaran dulu, saya menggunakan format id seperti itu, dan dosen penguji saya memberikan saran sebaiknya id bertype data integer saja. Karena integer lebih ringan daripada Char, sehingga database dapat memuat data lebih banyak. Lalu bagaimana caranya untuk membuat id seperti itu? . menampilkan data dari beberapa kolom dan dijadikan satu kolom

Nah agar tidak lebih bingung, sebaiknya kita coba saja

  • Masuk ke menu routines, sama seperti prosedur
  • Pada Routine Name, kita buat saja nama "tampil_id_mahasiswa"
  • Untuk Type, kita pilih Function
  • Untuk Parameternya adalah sebagai berikut
    DirectionNameTypeLength/Valuesid_parameterInteger11null
  • Pada Return Type, pilih Varchar
  • Pada Return Length/Values, tulis 20
  • Untuk Return Options, kita biarkan Null saja
  • Pada SQL Data Access, pilih CONTAINS SQL
  • Seperti biasa, ketikkan script berikut ini ke Definition

    MULAI
         MENYATAKAN   nama_kelas_parameter   VARCHAR(10);

         PILIH   tb_kelas. nama_kelas
         INTO     nama_kelas_parameter
         DARI     tb_mahasiswa
                GABUNG   tb_kelas
                  AKTIF   tb_mahasiswa. id_kelas   =   tb_kelas.id_kelas
         DI MANA    tb_mahasiswa. id_mahasiswa   =   id_parameter;

         KEMBALIKAN   Concat(nama_kelas_parameter, '/', id_parameter);
    AKHIR  



    Berikut adalah gambarnya




Untuk memanggil Function, kita gunakan perintah SELECT [nama_function]([parameter_n]). Berikut ini adalah contohnya

PILIH   Tampil_id_mahasiswa(1) 


Keterangan. angka satu didalam kurung merupakan id_mahasiswa di table tb_mahasiswa

Dan berikut ini merupakan hasilnya



Dalam pembelajaran, Ibarat seseorang yang sedang naik tangga, Sebagai seorang yang sudah ahli tentu tidak boleh memarahi orang yang berada dibawahnya. Demikian Tutorial yang saya berikan, terimakasih atas kunjungannya. Assalamu'alaikum wr. wb




Apa itu menyimpan prosedur di mysql?

Stored Procedure adalah sebuah prosedur layaknya subprogram (subrutin) di dalam bahasa pemrograman reguler yang tersimpan di dalam direktori basis data . Beberapa kelebihan yang ditawarkan stored procedure antara lain. meningkatkan performa, mereduksi trafik jaringan, dapat digunakan kembali, dan meningkatkan kontrol keamanan.

Apa itu prosedur dalam database?

Stored procedure ini merupakan suatu blok program yang dapat dipanggil secara berulang-ulang dalam bentuk script . Dengan menggunakan stored procedure maka seluruh aplikasi akan terdistribusi dan ketika mengeksekusi satu perintah CALL aplikasi dapat langsung membentuk sejumlah task yang dapat berjalan di dalam server.

Apa itu fungsi tersimpan?

Stored Function dengan parameter merupakan sebuah blok PL/SQL yang dapat menerima sebuah inputan parameter, menjalankan sebuah program tertentu yang kemudian akan mengembalikan hasil atau nilai tertentu. Fungsi tersimpan disimpan secara permanen di dalam database.

menarik apa saja yang dapat dilakukan oleh prosedur toko?

Prosedur Tersimpan .
Menerima parameter sebagai input dan mengembalikan nilai-nilai dalam bentuk output parameter kepada yang memanggilnya
Berisi perintah-perintah program yang melakukan operasi pengolahan data didalam database atau memanggil stored procedure lainnya