call kali4(2,2,@hasil);
select @hasil;
Contoh pencarian prosedure menghitung kali
Pemanggilannya:
call kali2(2,2,@hasil);
select @hasil;
Pemanggilannya:
call kali3(2,2,@hasil);
select @hasil;
Contoh pencarian prosedure menghitung kali
WHEN when_value THEN statement_list1
WHEN when_value THEN statement_list2
ELSE THEN statement_list
END CASE
Pemanggilannya:
call nilaiIndeksCase(-2,@huruf);
select @huruf;
Pemanggilannya:
call kali1(2,2,@hasil);
select @hasil;
Pernyataan IF
Strutur dasar:
Pemanggilannya:
call nilaiIndeks(-2,@huruf);
select @huruf;
Pernyataan CASE
Strutur dasar:
CASE case_value
4. Procedure dengan paremeter IN OUT
Misal procedure melihat jumlah karyawan berdasarkan jenis kelamin
??
Variabel
Jenis Variabel:
1. Variabel System
a. diakses menggunakan @@nama_var
Contoh: select @@port
b. melihat variabel system dan nilainya show variables
c. Melihat nilai variabel select @@nama_var
d. Mengubah nilai variabel (jika tidak read only) set @@nama_var=values 2.
User Define Variable
a. diakses menggunakan @nama_var
hanya dikenal per koneksi
membuat variabel set @nama_var = values
Melihat nilai variabel select @nama_var
b. diakses tanpa menggunakan @
digunakan di dalam statement stored procedure, dalam routine body diapit
BEGIN dan END
digunakan untuk membuat variabel lokal pada sebuah stored procedure
hanya berlaku dalam lingkup BEGIN dan END saja
Contoh:
1. Procedure tanpa parameter
Untuk memanggil
2. Procedure dengan parameter IN
Misal procedure melihat karyawan berdasarkan jenis kelamin
??
Untuk memanggil:
Call jmlmhs dalam kasus ini kita membutuhkan variable baru yakni @jumlah untuk
menampung hasil pemanggilan procedure.
Call jmlkary(@jumlah)$$
Lalu untuk melihat hasilnya:
Select @jumlah $$
Kadang dalam suatu stored routine dibutuhkan untuk menulis beberapa buah statemen sekaligus.
Gabungan statemen tersebut diawali dengan BEGIN dan diakhiri dengan END. Diantara
BEGIN .... END, bisa terdiri lebih dari satu statemen yang dipisahkan dengan tanda semikolon (;).
Karena setiap statemen harus diakhiri dengan semikolon (;) maka diperlukan untuk mengganti
delimiter dari ; menjadi delimiter yang diinginkan, misalnya menggunakan / atau $$ atau yang
lain.
Menghapus procedure:
DROP PROCEDURE sp_name;
DASAR TEORI
STORED PROCEDURE
Store procedure adalah prosedure atau sub program yang terdiri dari bagian deklaratif dan
prosedural statemen SQL yang tersimpan pada katalog basis data MySQL. Statemen deklaratif :
CREATE, UPDATE, SELECT, dll. Prosedural language : IF-THEN-ELSE, WHILE DO.
Stored procedure diaktifkan dengan memanggil nama dari stored procedure dari DBMS
maupun dari program aplikasi. Stored procedure akan mengembalikan set hasil, yaitu hasil dari
perintah SELECT. Hasil tersebut dapat diproses menggunakan kursor, dengan stored procedure
lain, atau dengan aplikasi. Prosedure yang disimpan juga dapat berisi variabel dideklarasikan
untuk pengolahan data dan kursor yang memungkinkan untuk loop melalui beberapa baris dalam
sebuah tabel.
Manfaat stored procedure:
1. Memperkecil trafic request dari aplikasi ke basis data karena semua proses bisnis dilakukan di
basis data MySQL dan aplikasi akan akan menerima hasil proses saja. 2. Ketika sebuah aplikasi
yang dibangun terdiri dari berbagai bahasa pemrograman (misalkan query dekstop dan web)
yang mana kedua tipe aplikasi tersebut membutuhkan hasil dan operasi basis data yang sama.
3. Untuk meningkatkan keamanan, contoh: user dengan hak akses tertentu tidak bisa
mengakses tabel tabel tertentu secara langsung tetapi melalui stored procedure.
dimana:
proc_parameter:
[IN | OUT | INOUT] param_name type Type:
Semua tipe data yang valid di MySQL.
Routine_body:
Statement SQL procedure yang valid.