Stored Procedure Pemrograman Basis Data

NPM : 19312131

Nama : Ichwan Sholihin

 Stored Procedure adalah objek database yang berisi runtunan statement atau perintah yang dibuat untuk memenuhi kebutuhan-kebutuhan khusus tertentu (Raharjo, 2011). Stored procedure dieksekusi sekali dan disimpan dalam bentuk yang dapat dikompilasi kembali sehingga procedure dapat dipanggil secara cepat dan efisien. Kode yang dapat dieksekusi secara otomatis di-cache dan dibagikan di antara pengguna. Hal ini menyebabkan terjadinya penurunan kebutuhan memori. Dengan mengelompokkan pernyataan SQL, stored procedure memungkinkan laporan diproses dengan satu panggilan yang kemudian bisa mengurangi lalu lintas jaringan dan meningkatkan waktu respon.

Berikut ini ada kelebihan menggunakan stored procedure:

*Performa Yang Lebih Baik : Stored Procedure dikompilasi dan kemudian di-cache dan digunakan lagi. Sehingga waktu respon akan menjadi lebih cepat ketika stored procedure yang sama dieksekusi lagi.

*Modular : Jika beberapa aplikasi ingin menggunakan query yang sama, maka dengan cara tradisional Anda menduplikasi kode yang tidak perlu pada aplikasi, cara terbaik adalah menempatkan kode ke dalam database.

*Keamanan Lebih Baik : Aplikasi yang memanfaatkan pernyataan  sql yang dibuat secara dinamis sangat rentan terhadap serangan injeksi SQL, sedangkan stored procedure dapat menghindari serangan injeksi SQL sepenuhnya.

Soal 1 : Buatlah sebuah stored procedure dengan nama hapus_vendors, yang dapat menghapus data vendors berdasarkan kode vendors yang diinputkan, lalu menampilkan semua data vendors yang terbaru

Query : 

CREATE PROCEDURE hapus_vendor 

@VEND_ID CHAR(5)
AS
BEGIN
delete vendors where vend_id = @VEND_ID;
SELECT * FROM vendors;
END;

EXECUTE hapus_vendor 'V0090';

Dari query diatas, hapus data dari kolom vend_id yang bernilai 'V0090'. Jika penghapusan id bersifat dinamis dan agar query procedure dapat digunakan kembali, kita dapat mengganti nilai yang ingin dihapus menggunakan @VEND_ID. Variabel id tersebut digunakan untuk menghapus nilai diluar procedure dan nilai dapat dihapus ketika mengeksekusi program.

Soal 2 : Buatlah sebuah stored procedure dengan nama update_vendors, yang dapat merubah nama pada data vendors berdasarkan kode vendors yang diinputkan, lalu menampilkan semua data vendors yang terbaru.

Query : 
CREATE PROCEDURE update_vendors
@IDNAME CHAR(5),
@NAME varchar(50)
AS
BEGIN
update vendors set vend_name = @NAME where vend_id = @IDNAME;
select * from vendors;
END;

EXECUTE update_vendors 'V0003','Lama';


Dari query diatas, terdapat 2 id yang menampung variabel vend_id dan vend_name untuk mengubah value dari 2 kolom tersebut.

Soal 3 : Buatlah sebuah stored procedure dengan nama cari_vendors, yang dapat menampilkan data vendors berdasarkan nama vendors yang diinputkan.

Query :
CREATE PROCEDURE cari_vendors 
@SEARCH varchar(25)
AS
BEGIN
select * from vendors where vend_name LIKE @SEARCH;
END;

EXECUTE cari_vendors '%a%';

Dari query diatas, id @SEARCH digunakan untuk mencari nilai sesuai yang diinputkan oleh user. Menggunakan kondisi WHERE yang merujuk ke kolom vend_name dan mencari nilai dengan perintah LIKE untuk mencari sebuah huruf atau karakter.







Post a Comment

0 Comments