/
TRIGGER LANJUT TRIGGER LANJUT

TRIGGER LANJUT - PowerPoint Presentation

pasty-toler
pasty-toler . @pasty-toler
Follow
383 views
Uploaded On 2016-11-23

TRIGGER LANJUT - PPT Presentation

Tujuan Pembelajaran Mampu membuat database or system event trigger Mampu menjelaskan dan mendemokan mutating table pada trigger Mampu menjelaskan dan mendemokan Instead of T rigger System ID: 492248

pada trigger dan yang trigger pada yang dan data tabel akan mutating terjadi table event error statement kita login saat untuk membuat

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "TRIGGER LANJUT" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

TRIGGER LANJUTSlide2

Tujuan

Pembelajaran

Mampu membuat database or system event trigger

Mampu menjelaskan dan mendemokan mutating table pada trigger Mampu menjelaskan dan mendemokan Instead of Trigger Slide3

System Event Trigger

Penggunaan trigger dapat dikelompokkan menurut event yang terjadi:

System

eventsPada saat database startup & shutdownServer error message events, yaitu pada saat terjadi error User events, yaitu Pada saat seorang user melakukan login

atau logoff pada schema atau database

User

operationa.          DDL statements (CREATE, ALTER, and DROP)b.         DML statements (INSERT, DELETE, and UPDATE)Slide4

Contoh

Trigger On System Event

Buatlah

trigger

bernama TRG_SCHEMA_LOGIN. Trigger ini akan mencatat user

aktifitas

login pada schema OE, waktu login, dan keterangan loginnya. Jalankan SQLPlus Login ke Schema OETerlebih dahulu buatlah tabel catat_log (id_user, tgl_log, aksi) untuk menyimpan data akses schema OE. Buat TriggerUji trigger dengan login ke schema OETampilkan data tabel catat_logSlide5

Mutating Table

Error mutating table terjadi pada saat membuat row trigger

dimana pada isi/ body dari trigger yang

dibuat terdapat proses yang melibatkan objek (biasanya ) yang sama dengan objek tabel pada event pemicunya .Salah satu hal penting yang harus diperhatikan pada saat menggunakan trigger adalah penanganan error mutating table. Error mutating table terjadi karena secara default trigger tidak diijinkan untuk

membaca

data yang tidak konsisten saat terjadi operasi DML. Transaksi yang terjadi pada trigger

biasanya merupakan transaksi yang bergantung pada transaksi lain sehingga ketika terjadi kegagalan pada transaksi induk maka transaksi yang ada pada trigger akan di-rollback. Slide6

Mengatasi Error Mutating Table

Beberapa cara yang dapat

dilakukan

untuk mengatasi error mutating table antara lain:Menggunakan statement trigger jika memungkinkan Menyimpan nilai summary data yang dibutuhkan

pada

trigger body

ke dalam tabel yang terpisah dengan memastikan nilai summary data tersebut

tetap

up-to-date.

Menyimpan summary data yang dibutuhkan pada package. Solusi ini dapat dilakukan jika kita mengunakan statement trigger dengan timing BEFORE Menggunakan compound trigger. Compoud trigger merupakan fitur baru pada oracle 11g yang memungkinkan kita untuk mengkombinasikan lebih dari satu timing pada satu trigger. Bahkan kita dapat membuat row trigger dan statement trigger dalam satu trigger. Slide7

Contoh

Mutating Table

Buatlah

trigger

bernama

TRG_TES_MUTATING dimana trigger ini akan menampilkan

jumlah

data yang terdapat pada tabel departments setelah dilakukan operasi DML di tabel departmentsJalankan SQLPlus Login ke HRKetikan set serveroutput onBuat row trigger berikutJalankan perintah insert pada tabel departmentsAkan tampil error mutating tableAtasi dengan statement triggerJalankan kembali perintah insert

pda

tabel

departments

Trigger

berhasil

dijalankanSlide8

Trigger Timing

Dalam pembuatan sebuah trigger kita dapat menentukan trigger timing yaitu apakah trigger body akan dieksekusi sebelum atau sesudah triggering statement dieksekusi.

Before trigger menjalankan trigger body sebelum event atau triggering statement. Oleh karena itu, trigger ini cocok digunakan untuk mendeteksi bagaimana event boleh dilanjutkan maupun tidak.

After trigger menjalankan trigger action setelah event terjadi. Before dan After trigger tidak dapat diimplementasikan pada viewInstead Of TriggerInstead of  trigger hanya akan dieksekusi pada view dan diaktivasi jika terjadi perubahan pada tabel asal. Proses yang akan dilakukan oleh triggering statement akan digantikan oleh aksi pada trigger body.Slide9

Contoh

Instead of Trigger

Buatlah

Trigger yang

digunakan untuk keamanan data, sehingga jika ada yang berusaha

menghapus

isi tabel rekam, maka akan proses penghapusan akan digagalkan dan dalam tabel rekam dicatat "berusaha menghapus rekaman data"Pertama, sebelum kita membuat triggernya, kita terlebih dahulu membuat sebuah VIEWCREATE VIEW v_rekaman asselect pelaku, tanggal, aksi from rekaman;kemudian kita membuat triggernyaLakukan penghapusan pada vrekamMaka trigger akan muncul

dan

data di

vrekam

tidak

terhapusSlide10

Referensi

Feuerstein

, Steven,

dan Bill Pribyl. Oracle PL/SQL programming. Sebastopol, CA: O'Reilly, 2009. Print.Urman, Scott, Ron Hardman, dan Michael McLaughlin. Oracle

Database

10g PL/SQL

Programming. New York: McGraw-Hill/Osborne, 2004. Print.Srivastava, Tulika

, dan Glenn

Stokol

. Oracle Database 10g: Develop PL/SQL Program Units 2nd Edition. Boston: Oracle Publisher, 2006.Dedy Rahman Wijaya. Modul Praktikum Pemrograman Basis Data. Universitas Telkom, 2014.