Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti...
Transcript of Pemrograman Database II - Berbagi bersama...Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti...
PROGRAM STUDI TEKNIK INFORMATIKA 2019
Pemrograman Database 2
Sekolah Tinggi Ilmu Komputer Dinamika Bangsa - Jambi
PROGRAM STUDI SISTEM INFORMASI
2019
Disusun oleh : Tim Dosen
BAB IV
Procedure adalah suatu blok PL/SQL yang menyimpan sekumpulan perintah yang tidak disertai dengan pemberian nilai. Dengan Kata lain procedure hanya melakukan perintah tertentu saja.
5.1. Membuat Procedure Berikut bentuk umum yang digunakan untuk membuat procedure
CREATE [OR REPLACE] PROCEDURE nama_procedure (parameter_1 tipe_date, parameter_2 tipe_data,…) IS
variabel-varibel lokal BEGIN Pernyataan; END;
Contoh
5.2. Eksekusi Procedure Perintah berikut digunakan untuk mengeksekusi procedure yang telah dibuat.
EXEC[UTE] namaprocedure;
Procedure
5.3. Procedure dengan Parameter Masukan Paramater yaitu nilai yang dilewatkan dalam sebuah procedure ataupun function. Parameter masukan yaitu paramater yang berguna untuk menyimpan nilai yang digunakan sebagai input(masukan) didalam badan procedure maupun function. Contoh parameter pada procedure
Setelah procedure di atas kita jalankan, selanjutnya kita dapat melakukan pemanggilan function dengan parameter yang berbeda-beda. Contoh
vnamakaryawan varchar2(15);
5.4. Procedure dengan Parameter Keluaran Parameter keluar berperan sebagai parameter yang menampung nilai hasil dari proses yang dilakukan didalam sub program. Contoh Parameter keluaran
Sekarang tuliskan perintah suatu blok PL/SQL menggunakan procedure tersebut.
5.5. Procedure dengan Parameter Masukan–Keluaran Parameter ini merupakan gabungan dari parameter masukan dan parameter keluaran.
Contoh :
Untuk mencoba procedure di atas kita dapat membuat Blok PL/SQL berikut:
Function adalah sebuah blok PL/SQL yang dapat mengembalikan nilai. Untuk memngembalikan nilai kepada function kita gunakan statmen RETURN.
6.1. Membuat Function Berikut bentuk umum perintah untuk membuat function
CREATE OR REPLACE FUNCTION nama_function (parameter_1 tipe_date, parameter_2 tipe_data,…) RETURN tipedata_function IS
Variabel-variabel local BEGIN
Pernyataan; ….. RETURN nilai_function;
END; Contoh
6.2. Pemanggilan Function Function yang telah dibuat dapat dipanggil dengan cara seperti contoh berikut ini :
Function
6.3. Function dengan Parameter Masukan
Paramater yaitu nilai yang dilewatkan dalam sebuah procedure ataupun function. Parameter masukan yaitu paramater yang berguna untuk menyimpan nilai yang digunakan sebagai input(masukan) didalam badan procedure maupun function. Contoh Paramater pada function
Panggil function dengan perintah berikut :
6.4. Procedure dan Function Lokal Merupakan procedure atau function yg digunakan secara lokal dan ditempatkan didalam pernyataan declare
Contoh 1:
Setelah di eksekusi (Run/F5) hasilnya anda akan diminta memasukkan nilai (NIK) seperti berikut ini :
Output yang diperoleh adalah sebagai berikut :
Contoh 2 :
Setelah di eksekusi (Run/F5) hasilnya anda akan diminta memasukkan Nomor Department seperti berikut ini :
Hasil yang diperoleh terlihat sebagai berikut :
Triger adalah blok PL/SQL yang di simpan dalam database dan akan di aktivasi ketika anda melakukan statement-statement SQL(DELETE, UPDATE atau INSERT) pada sebuah tabel.
7.1. Membuat Trigger CREATE TRIGGER adalah statement membuat trigger yang disediakan oleh oracle yang selanjutnya akan diaktivasi berdasarkan event tertentu. Event trigger terbagi dua, yaitu before dan after. Adapun daftar event tersebut adalah sebagai berikut:
Nama Event Keterangan
BEFORE INSERT Diaktifkan sekali sebelum statement INSERT
AFTER INSERT Diaktifkan sekali setelah statement INSERT
BEFORE UPDATE Diaktifkan sekali sebelum statement UPDATE
AFTER UPDATE Diaktifkan sekali setelah statement UPDATE
BEFORE DELETE Diaktifkan sekali sebelum statement DELETE
AFTER DELETE Diaktifkan sekali setelah statement DELETE
Sintak umum membuat trigger CREATE OR REPLACE TRIGGER nama_trigger (BEFORE | AFTER ) statement ON nama_tabel FOR EACH ROW
DECLARE --berisi deklarasi variabel
BEGIN -- berisi statement-statement yang akan dieksekusi;
END; Contoh
Trigger
7.2. Memeriksa Pengaruh Trigger Ketikkan script berikut ini :
Setelah di eksekusi, maka trigger (tr_coba) yang telah dibuat sebelumnya akan otomatis dieksekusi sehingga hasilnya dapat dilihat seperti gambar di atas.
Contoh 2
Lalu masukan record baru dengan pernyataan di bawah ini.
insert into employees (employee_id, last_name, email, hire_date, job_id) values (220, 'Renny', '[email protected]' , '10-AUG-12','SH_CLERK');
Kalau pernyataan tersebut dijalankan maka outputnya adalah
7.3. Alias didalam Trigger Didalam trigger dikenal dengan istilah alias atau referensi, yaitu sejenis variabel yang menyimpan nilai dari suatu kolom didalam tabel. Alias tersebut terbagi menjadi dua yaitu :new dan :old. Alias dituliskan didepan nama kolom yang akan diambil nilainya. Contoh :new.stok_barang Ada tiga hal penting yang harus kita ketahui ketika menggunakan alias dalam trigger 1. Untuk Statemen INSERT hanya mempunyai alias :new, yaitu variabel yang
menyimpan nilai-nilai kolom yang akan dimasukan kedalam tabel. Contoh
Insert into barang Values (‘ELK-05’,’KOMPUTER’,’UNIT’,10);
Maka :new.stok_barang akan bernilai 10. 2. Untuk statemen update mempunyai alias :new dan :old. Alias :new akan
menyimpan nilai-nilai kolom yang baru, sedangkan alias :old akan menyimpan nilai-nilai kolom yang asli yang terdapat didalam tabel(nilai sebelum di-update).
3. Untuk statemen DELETE hanya mempnya alias :old yaitu variabel yang menyimpan nilai nilai-nilai kolom dari baris yang dihapus didalam sebuah tabel.
Contoh : 1. Buatlah 2 buah tabel dengan perintah seperti berikut ini :
2. Tambahkan record pada tabel produk
3. Buat trigger yang di gunakan untuk mengurangi jumlah stok yang ada pada tabel produk setiap kali di lakukan pemasukan data pada tabel penjualan.
4. Tambahkan record pada tabel penjualan
5. Cek stok pada tabel produk
Dari gambar diatas terlihat bahwa stok yang awalnya ada 10 buah berkurang menjadi 7 buah akibat terjadinya penjualan pada produk tersebut sebanyak 3 buah.
7.4. MengaKtifkan dan me-nonaktifkan Trigger. Secara default Triger dalam database oracle selalu dalam keadaan aktif, namun kita dapat melakukan pengesetan(setting) terhadap trigger tersebut, apakah triggernya aktif(enable) atau tidak aktif(disable). Berikut ini contoh sintak mengaktifkan dan menonaktifkan trigger.
ALTER TRIGGER Nama_trigger ENABLE | DISABLE
Atau kalau kita mau melakukan pengesetan pada semua trigger, berikut sintak nya
ALTER TRIGGER Nama_trigger ENABLE | DISABLE ALL TRIGGERS;