Stored Procedure 

Stored procedure merupakan kumpulan perintah – perintah SQL atau bisa dikatakan sebagagi sub program dengan nama tertentu yang disimpan pada database. Proses yang dilakukan stored procedure yaitu menerima inputan parameter dan kemudian mengembailkan nilai – nilai dalam bentuk parameter output kepada pemanggilnya dan melakukan operasi pengolahan data pada database yang dijalankan oleh suatu program seperti trigger atau stored procedure lainnya. Penggunaan stored procedure memiliki kelebihan, yaitu

  • Meningkatkan performa pada aplikasi, karena stored procedure yang telah dibuat berjalan lebih cepat dari perintah SQL yang dikirim aplikasi dan belum dikompilasi,
  • Menurunkan traffic jaringan dari database dan aplikasi, karena tidak perlu mengirimkan SQL yang belum dikompilasi
  • Dapat digunakan seacara berulang dan transparan pada semua aplikasi.

Meskipun demikian, penggunaan stored procedure juga terdapat kelemahan, yaitu

  • Tidak dapat dilakukan debug
  • Membuat beban pada hardware server bertambah,
  • Penulisannya tidak mudah dan memerlukan pengetahuan yang spesifik.

Sintaks Pada Stored Procedure

Sintaks yang terdapat pada stored procedure

  • Sintaks penulisan stored procedure
    DELIMITER //
    CREATE PROCEDURE nama_procedure()
    BEGIN
    query sql
    END //
    DELIMITER ;
  • Sintaks memangil stored procedure
    CALL nama_procedure()
  • Sinkats deklarasi variabel stored procedure
    DECLARE nama_variable tipedata(panjang) DEFAULT nilai;
  • Sintaks stored procedure dengan parameter
    Terdapat tiga mode untuk parameternya yaitu
    • IN, yaitu bentuk default dari parameter yang dimana semua perubahan pada stored procedure tidak akam mempengaruhi parameter
    • OUT, yaitu mode yang akan mengubah nilai parameter lalu mengirimkan balik ke pemanggilnya
    • INOUT, yaitu mode kombinasi dari IN dan OUT. 

      Contoh sintaks mendefinisikan stored procedure dengan parameter : 
      DELIMITER //
      CREATE PROCEDURE nama_procedure([mode] [parameter]
      [tipe_data] )
      BEGIN
      query sql
      END //
      DELIMITER ;

      Contoh sintaks memanggilstored procedure dengan parameter :
      CALL nama_procedure([nilai_parameter])

Cursor 

Cursor merupakan objek pada database yang digunakan untuk menampung pemrosesan peryataan SQL yang bersifat spesifik atau dapat dikatakan sebagai variabel penampung hasil query yang mengandung dari lebih dari satu row atau record. Cursor dapat melakukan iterasi sebanyak row data pada tabel. Tedapat beberapa sifat dari cursor, yaitu :

  • Tidak dapat dilakukan update (read only)
  • Cursor hanya berjalan pada satu arah (non-scollable)
  • Tidak disarankan untuk melakukan update pada tabel yang diacu oleh cursor karena dapat memberikan hasil yang tidak diinginkan (asensitive)

Sintaks Pada Stored Procedure

Sintaks yang terdapat pada cursor

Pada cursor terdapat beberapa tahap dalam pembuatannya yaitu :

  • Declare, yaitu tahapan untuk mendeklarasikan cursor, dengan sintaksnya ;

DECLARE nama_cursor CURSOR FOR

pernyataan_SELECT;

  • Open, yaitu tahapan membuka atau mengaktifkan cursor, dengan sintaksnya :

OPEN nama_cursor;

  • Fetch, yaitu tahapan mengambil data dari cursor dan kemudian menampungnya pada sebuah variabel, dengan sintaksnya :

FETCH nama_cursor INTO daftar_variabel

  • Close, yaitu tahapan untuk menonaktifkan cursor, dengan sintaknsya :

CLOSE nama_cursor

Perbedaan Stored Procedure dan Cursor 

Perbedaan stored procedure dengan cursor adalah stored procedure hanya menampung perintah – perintah deklarasi dari MySQL sedangakan cursor menampung hasil query sekaligus sebagai pointer dari hasil query. Hal ini memungkinkan cursor dapat dilakukan perintah yang kompleks yang tidak dapat dilakukan oleh stored procedure. Salah satunya adalah melakukan iterasi pada record.

Shares:
Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *