Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STORED PROCEDURE & TRIGGER

Presentasi serupa


Presentasi berjudul: "STORED PROCEDURE & TRIGGER"— Transcript presentasi:

1 STORED PROCEDURE & TRIGGER

2 Stored Procedure Sebuah stored procedure adalah kumpulan dari prosedur dan statement SQL yang terdapat pada DBMS. Dikenali dengan nama Dieksekusi sebagai sebuah sebuah kesatuan (unit) Di Oracle, dikenal dengan PL/SQL (Procedural Language/SQL)

3 Keuntungan stored procedure
Mengurangi network traffic dan meningkatkan performance Tidak ada transmisi individual SQL statements pada network

4 Stored Procedure syntax
CREATE OR REPLACE PROCEDURE procedure_name (argument IN/OUT data-type, etc) IS/AS BEGIN DECLARE variable name and data type PL/SQL or SQL statement END; DECLARE  digunakan untuk mendeklarasikan variabel yg digunakan dan tipe datanya Argumen menspesifikasikan parameter  IN (input) & OUT (output) Data type merupakan salah satu dari tipe data yang terdapat pada DBMS. Untuk mengeksekusinya: EXEC stored_procedure_name (parameter, parameter, …)

5 Contoh stored procedure DAN cara memanggilnya

6 TRIGGER

7 OVERVIEW Merupakan jenis Blok PL/SQL yang berhubungan/ berasosiasi dengan table, view, schema, atau database. Dieksekusi secara implisit ketika terjadi suatu event Jenis-jenis trigger: Application trigger: dibangkitkan ketika terjadi event pada aplikasi (Oracle Form Developer) Database Trigger: dibangkitkan ketika terjadi event pada data (ex: DML) atau event pada system (ex: logon, shutdown, dll) pada schema database.

8 Manfaat Trigger Menentukan nilai kolom-kolom tertentu secara otomatis.
Menghindarkan transaksi data yang tidak valid.

9 BATASAN TRIGGER Trigger mempunyai batasan:
Tidak dapat menggunakan perintah commit dan rollback, selain itu juga tidak dapat memanggil procedure, function atau package yang menggunakan perintah commit dan rollback. Tidak dapat melanggar constraint.

10 Jenis-Jenis DML Trigger
Statement Trigger Dieksekusi sekali ketika terjadi trigger event Akan selalu dieksekusi walaupun tidak ada row data yang berubah Row Trigger Dieksekusi sebanyak row data yang berubah Tidak akan dieksekusi jika tidak ada row data yang berubah Ditunjukkan oleh statement FOR EACH ROW

11 Membuat DML Trigger CREATE [or replace] TRIGGER nama_trigger ( BEFORE|AFTER ) ( INSERT|UPDATE [OF nama_kolom, ..]|DELETE )ON nama_tabel [REFERENCING OLD as nilai_lama NEW as nilai_baru] [FOR EACH ROW] [WHEN (kondisi)] DECLARE Deklarasi tipe data BEGIN Trigger body END;

12 Trigger Timing Waktu tereksekusinya trigger
Before  trigger dieksekusi sebelum trigger event After  trigger dieksekusi setelah trigger event

13 Trigger Event Pemicu tereksekusinya trigger
Insert  trigger dieksekusi jika ada perintah insert untuk suatu tabel. Update  trigger dieksekusi jika ada perintah update untuk suatu tabel. Delete  trigger dieksekusi jika ada perintah delete untuk suatu tabel.

14 Trigger Restriction Kondisi yang menentukan apakah isi dari trigger dieksekusi atau tidak. Contoh: when (new.donasi => 0)

15 Alias/ Referensi Kita mungkin akan berhubungan dengan data lama (old) dan data baru (new) yang terjadi dalam transaksi. Dalam trigger, dikenal istilah alias atau referensi, yaitu sejenis variabel yang menyimpan nilai dari suatu kolom dalam tabel. Alias terbagi menjadi dua, yaitu: Untuk mendapatkan data baru pada sebuah tabel di dalam trigger body, dapat dilakukan dengan perintah sebagai berikut: :new.nama_kolom Untuk mendapatkan data lama pada sebuah tabel di dalam trigger body, perintah yang digunakan: :old.nama_kolom Referensi nilai kolom di trigger: insert  new.nama_kolom update  new.nama_kolom dan old.nama_kolom delete old.kolom_name

16 Mengaktifkan dan Me-non aktifkan Trigger
ALTER TRIGGER nama_trigger DISABLE | ENABLE; Untuk mengaktifkan atau menonaktifkan semua trigger yang diasosiasikan pada sebuah tabel dapat menggunakan sintaks: ALTER TABLE nama_tabel [DISABLE|ENABLE] ALL TRIGGERS; Sedangkan untuk menghapus trigger digunakan perintah berikut : DROP TRIGGER nama_trigger;

17 Contoh trigger


Download ppt "STORED PROCEDURE & TRIGGER"

Presentasi serupa


Iklan oleh Google