Uploaded by User80620

bahan

advertisement
Store procedure
Store procedure ini merupakan program terstruktur yang tersimpan dalam database di store
procedure ini bisa melakukan control menggunakan statement if dan looping/perulangan store
procedure ini sama halnya dengan procedure di pemrograman konvensional. nah utk
memulai membuat store procedure. kita hrs menentukan delimiter terlebih dahulu.delimiter
ini gunanya sebagai simbol untuk menjalankan script default delimiter sekarang yaitu ;
setiap query yang akan dijalankan mesti diakhiri ;
nah kl nanti membuat store procedure kita hrs tentukan delimiternya apa.biasanya delimiter
yang digunakan yaitu // atau $$.
ini contoh procedure
use classicmodels;
Database changed
MariaDB [classicmodels]> delimiter $$
MariaDB [classicmodels]> create procedure GetCustomers()
-> begin
-> select customerName, city, state, postalCode, Country
-> from customers
-> order by customerName;
-> end $$
setiap akhir kode diakhiri ;
maka dg itu perlu ditetapkan delimiter nya dan jangan lupa utk dikembalikan lg ke defaultnya
; utk memanggil procedure
gunakan call getcustomers();
ingat delimiter terakhir nya
apakah sudah dikembalikan lg ke delimiter ;
set @variable  ini jenis variabel yang didefinisikan sendiri..bahkan diluar procedure
Setting variabel
ini contoh sederhana menggunaka n variable, kalo di procedure sendiri kita perlu
mendeklarasikan nama variabel dan tipe data nya
delimiter //
MariaDB [classicmodels]> create procedure salam()
-> begin
-> declare selamat_pagi varchar(30) default 'selamat pagi indonesia';
-> select selamat_pagi;
-> end//
MariaDB [classicmodels]> delimiter ;
MariaDB [classicmodels]> call salam;
isi variabel tsb diisikan nilainya pada saat pendeklarasian
nah ini contoh pengisian variable menggunakan SET
perhatikan ketika memulai script baru di prompt mysql>
kl sudah ada drop dl procedurenya.
drop procedure salam;
Menggunakan Set
MariaDB [classicmodels]> drop procedure salam//
MariaDB [classicmodels]> create procedure salam()
-> begin
-> declare selamat_pagi varchar(30) default 'selamat pagi indonesia';
-> set selamat_pagi = 'Selamat Pagi Dunia';
-> select selamat_pagi;
-> end//
delimiter// (ini salah)==> delimiter // (ini yg benar)
jadi objek dalam database itu memiliki nama yang unik
Seharusnya delimiter spasi ;
Untuk menampilkan string cukup menggunakan SELECT ya
untuk mengambil value dari tabel kita bisa menggunakan select ...........into............from
.................
ini hanya berlaku untuk satu record sj
delimiter yang $ dengan $$ tidak ada bedanya atau tidak ada hubungannya
delimiter $
MariaDB [classicmodels]> create procedure totalorder()
-> begin
-> declare jumlah int default 0;
-> select count(*) into jumlah from orders;
-> select jumlah;
-> end $
Query OK, 0 rows affected (0.287 sec)
MariaDB [classicmodels]> delimiter ;
MariaDB [classicmodels]> call totalorder();
+--------+
| jumlah |
+--------+
| 326 |
+--------+
1 row in set (0.483 sec)
Membuat procedure tanpa parameter
Buatlah store procedure yang menampilkan nilai tertinggi dan terendah pada tabel products
ya...field buyprice
petunjuk: cari dl query utk mendapatkan informasi ditas
kalo sudah oke query nya
lanjutkan ke store procedure
dijadikan 1 koding nilai max dan min nya
select .......,......... into .....,........... from ............
deklarasikan 2 variabel
1 utk menampung nilai max dan 1 lg utk nilai min
delimiter $
delimiter $
MariaDB [classicmodels]> create procedure nilai()
-> begin
-> declare nilaiMax,nilaiMin int default 0;
-> select max(buyprice),min(buyprice)into nilaimax,nilaimin from products;
-> select nilaiMax,nilaiMin;
-> end$
Query OK, 0 rows affected (0.202 sec)
MariaDB [classicmodels]> delimiter ;
MariaDB [classicmodels]> call nilai();
Download