Membuat store procedure insert di mysql

Membuat store procedure insert di mysql

Membuat Stored Procedure di MySQL – Setelah artikel sebelumnya membahas tentang Pengantar MySQL Stored Procedure maka pada artikel ini akan membahas tentang implementasi atau cara membuat stored procedure pada MySQL. Pada pembahasan ini akan menggunakan Schema OP. Untuk link download Schema OP dapat diunduh pada halaman ini. Sedangkan untuk cara import database melalui MySQL dapat dilihat pada artikel Cara Import Database Melalui MySQL Command Line.

Contents

  • 1 Langkah-langkah membuat stored procedure MySQL
  • 2 Cara memanggil stored procedure MySQL yang telah dibuat
  • 3 Cara menghapus stored procedure MySQL yang telah dibuat

Langkah-langkah membuat stored procedure MySQL

Dalam pembuatan stored procedure memilik struktur dasar dalam penulisannya. Struktur dasar dalam pembuatan stored procedure adalah

DELIMITER //
CREATE PROCEDURE NamaProcedure()
BEGIN
SELECT * FROM namatable;
END //
DELIMITER ;

Penjelasan dari masing-masing perintah adalah sebagai berikut:

1. DELIMITER sebenarnya tidak terkait dengan syntax stored procedure. Namun dalam hal ini digunakan sebagai pembatas yang standarnya adalah titik koma (;). Dalam penggunaan delimiter pada artikel ini menggunana tanda garis miring ganda (//) dan bisa juga menggunakan karakter dollar ganda ($$). Alasan kenapa harus mengubah delimiter yang standarnya titik koma (;) menjadi seperti struktur diatas adalah supaya stored procedure dapat dibaca dan tersimpan secara keseluruhan.

2. CREATE PROCEDURE adalah perintah yang digunakan untuk membuat suatu stored procedure baru.

3. Bagian antara BEGIN dan END adalah bagian tubuh dari stored procedure. Bagian ini merupakan tempat dari perintah-perintah SQL ditulis.

Dalam pembahasan ini akan dibuat stored procedure untuk menampilkan daftar karyawan dalam Schema OP dengan nama stored procedure DaftarKaryawan tanpa parameter.

/* JIKA MENGGUNAKAN DELIMITER BERAKHIRAN TANDA GARIS MIRING GANDA (//) */

DELIMITER //
CREATE PROCEDURE DaftarKaryawan()
BEGIN
SELECT * FROM employees;
END //
DELIMITER;

/* JIKA MENGGUNAKAN DELIMITER BERAKHIRAN TANDA DOLLAR GANDA ($) */

DELIMITER $

CREATE PROCEDURE DaftarKaryawan()
BEGIN
SELECT * FROM employees;
END $
DELIMITER;

Cara memanggil stored procedure MySQL yang telah dibuat

Setelah stored procedure berhasil dibuat, langkah selanjutnya adalah menggunakan atau memanggil stored procedure tersebut. Struktur dasar dalam pemanggilan stored procedure adalah

CALL NamaProcedure();

Sebagai contoh pemanggilan stored procedure yang telah dibuat sebelumnya yang diberi nama DaftarKaryawan() maka

CALL DaftarKaryawan;

Hasil dari pemanggilan stored procedure diatas adalah

Hasil pemanggilan stored procedure DaftarKaryawan()

Untuk melihat daftar stored procedure yang telah dibuat, maka menggunakan perintah

SHOW PROCEDURE STATUS;

Hasil dari perintah SQL diatas adalah

Hasil perintah yang digunakan untuk memanggil stored procedure yang telah dibuat

Cara menghapus stored procedure MySQL yang telah dibuat

Jika stored procedure yang telah dibuat sudah tidak digunakan atau ingin dihapus, maka struktur dasar dalam menghapus stored procedure adalah

DROP PROCEDURE NamaProcedure;

Sebagai contoh jika ingin menghapus stored procedure DaftarKaryawan, maka perintahnya adalah

DROP PROCEDURE DaftarKaryawan;

Itu tadi langkah-langkah dalam pembuatan stored procedure dalam MySQL.

Happy Coding ^-^

Membuat store procedure insert di mysql


Jika teman-teman menggunakan query sql yang sama berulang-ulang dalam program aplikasi, maka dapat menggunakan stored procedure untuk menyimpan query tersebut dan panggil saja stored procedure yang telah dibuat tadi jika ingin digunakan. Stored Procedure merupakan kumpulan perintah atau statement SQL yang disimpan di dalam database dengan nama tertentu.

Keuntungan penggunaan Stored procedure ini dapat menyembunyikan query sql didalam kode program. Query sql akan ditulis dan dieksekusi disisi server database sehingga dapat meningkatkan kecepatan aplikasi. Dapat di gunakan berulang-ulang dan dapat mengamankan nama tabel database yang digunakan.

Dalam tutorial ini kita akan menggunakan database toko dan satu table bernama produk

Buka sql server management studio teman-teman, buat database baru bernama toko, buat satu tabel bernama produk seperti gambar dibawah ini.

Membuat store procedure insert di mysql


Insert contoh data dengan menuliskan query sql seperti dibawah ini.


INSERT INTO produk VALUES ('CONERLLO CHOCOLUV 135', 25000, 100);
INSERT INTO produk VALUES ('WALLS NINJA JELLY', 25000, 100);
INSERT INTO produk VALUES ('RAINBOW PEAK', 25000, 150);
INSERT INTO produk VALUES ('PADDLE POP CHOKO KICK', 25000, 150);
INSERT INTO produk VALUES ('CONELO DISC VAN', 25000, 150);


Memulai membuat stored procedure, untuk penamaan sebuah stored procedure saran saya tambahkan awalan sp, sp_, stp atau stp_ untuk membedakan sebuah stored procedure dengan nama tabel.

klik kanan pada stored procedures yang berada dalam toko->programmability pilih new stored procedure..

Membuat store procedure insert di mysql


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:  Maribelajarcoding
-- Create date: 12 April 2020
-- Description: Return all data produk
-- =============================================
CREATE PROCEDURE stp_getAllProduk
 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 SELECT * FROM produk
END
GO


Keterangan:
Create procedure berguna untuk membuat procedure baru.
stp_getAllProduk merupakan nama procedure.
Set nocount on menyembunyikan pesan jumlah baris yang terpengaruh.
select * from produk merupakan query untuk menampilkan semua data produk.

Pilih execute atau f5 untuk menyimpan stored procedure.

Untuk menjalankan stored procedure tadi, ketikkan exec stp_getAllProduk pada query.

Membuat store procedure insert di mysql


Untuk menghapus stored procedure ketikkan drop proc nama_stored_procedure pada query.

Buat stored procedure baru untuk menyimpan data produk baru.


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:  Maribelajarcoding
-- Create date: 12 April 2020
-- Description: Insert new data produk
-- =============================================
CREATE PROCEDURE stp_insertProduk
 -- Add the parameters for the stored procedure here
 @nama_barang varchar(50),
 @harga int,
 @stock int
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 insert into produk(NAMA_BARANG, HARGA, STOCK) values (@nama_barang, @harga, @stock)
END
GO


Pilih execute atau f5 untuk menyimpan. @nama_barang, @harga, dan @stock merupakan variabel untuk menyimpan data yang dikirim. Sesuaikan tipe variabel dengan field tabel produk. Untuk menjalankan stp_insertProduk seperti dibawah ini. Isi parameter diurutkan sesuai dengan stored procedure.


exec stp_insertProduk 'NAMA_BARANG', HARGA,STOCK;


Contoh:


exec stp_insertProduk 'VASELINE', 30000,50;

Membuat store procedure insert di mysql


Ketikkan exec stp_getAllProduk pada query untuk melihat apakah data berhasil disimpan.

stp_getProdukbyID, stored procedure untuk menampilkan data produk berdasarkan id produk.


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:  Maribelajarcoding
-- Create date: 12 April 2020
-- Description: Get data by Id Produk
-- =============================================
CREATE PROCEDURE stp_getProdukbyID
 -- Add the parameters for the stored procedure here
 @id_barang int
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 SELECT * from produk where ID_BARANG=@id_barang
END
GO


Jalankan stp_getProdukbyID


exec stp_getProdukbyID 6

Membuat store procedure insert di mysql


stp_editProduk Stored procedure untuk mengubah data produk berdasarkan id produk.


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:  Maribelajarcoding
-- Create date: 12 April 2020
-- Description: Update data produk by id produk
-- =============================================
CREATE PROCEDURE stp_editProduk
 -- Add the parameters for the stored procedure here
 @id_barang int,
 @nama_barang varchar(50),
 @harga int,
 @stock int
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 update produk set NAMA_BARANG=@nama_barang, HARGA=@harga, STOCK=@stock
 where ID_BARANG=@id_barang
END
GO


Jalankan stp_editProduk.


exec stp_editProduk 6, 'Vaseline',39000,50;


stp_deleteProduk Stored procedure untuk menghapus data produk berdasarkan id produk.


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:  Maribelajarcoding
-- Create date: 12 April 2020
-- Description: Delete data produk by id produk
-- =============================================
CREATE PROCEDURE stp_deleteProduk 
 -- Add the parameters for the stored procedure here
 @id_barang int
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 delete from produk where ID_BARANG=@id_barang
END
GO


Jalankan stp_deleteProduk untuk menghapus data produk dengan id ke enam.


exec stp_deleteProduk 6

Apa itu stored procedure MySQL?

Stored Procedure adalah sebuah prosedur layaknya subprogram (subrutin) di dalam bahasa pemrograman reguler yang tersimpan di dalam katalog basis data. Beberapa kelebihan yang ditawarkan stored procedure antara lain : mengingkatakan performa, mereduksi trafik jaringan, reusable, dan meningkatkan kontrol sekuriti.

Apa itu store procedure dalam basis data?

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 yang dimaksud dengan perintah store procedure dan buat contoh dari store prosedure?

Stored procedure adalah salah satu objek routine yang tersimpan pada database MySQL dan dapat digunakan untuk menggantikan berbagai kumpulan perintah yang sering kita gunakan, seperti misalkan sejumlah row ke table lain dengan filter tertentu.

Apa tiga mode parameter untuk prosedur?

Terdapat 3 mode parameter yaitu :IN, OUT dan INOUT : • IN (default) → akan mempassingkan nilai konstan dari memori ke stored procedure • OUT → akan mengambil nilai dari prosedur • IN OUT → akan mempassingkan nilai dari memori ke dalam procedure dan memungkinkan nilai yang berbeda dari prosedur dikembalikan ke memori ...