DB2 Trigger Update Cascade

Suatu hari ada seseorang yang bertanya tentang penggunaan update cascade di DB2. Dalam DB2 tidak dikenal operasi update cascade. Namun dengan sedikit “mengetik” kita dapat membuat sebuah proses yang serupa dengan cascade update.

Berikut struktur table sederhana yang saya buat
Table Course
ID
Nama

Table Transaksi
ID
Peserta

Dengan 2 buah trigger di bawah, jika ada delete maka child akan ikut dihapus dan jika ada update maka child akan ikut diupdate.

CREATE TRIGGER ADMINISTRATOR.DELETE AFTER DELETE ON ADMINISTRATOR.COURSE REFERENCING OLD AS OLD FOR EACH ROW MODE DB2SQL
WHEN ( EXISTS(SELECT ID FROM TRANSAKSI WHERE ID=OLD.ID))
BEGIN ATOMIC
DELETE FROM TRANSAKSI WHERE ID=OLD.ID ;
END

CREATE TRIGGER ADMINISTRATOR.CASCADE AFTER UPDATE OF ID ON ADMINISTRATOR.COURSE REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW MODE DB2SQL
WHEN ( EXISTS(SELECT ID FROM TRANSAKSI WHERE ID=OLD.ID))
BEGIN ATOMIC
UPDATE TRANSAKSI SET ID=NEW.ID WHERE ID=OLD.ID ;
END

Semoga bermanfaat.

This entry was posted in DB2, Tips n trick and tagged , , , , , , , , . Bookmark the permalink.

One Response to DB2 Trigger Update Cascade

  1. hrd says:

    Halo,

    Kami sedang mencari DB2 Administrator untuk ditempatkan di data center client kami, salah satu perusahaan telekomunikasi multinational di Indonesia.
    Silahkan kunjungi iklan lowongan di jobsdb untuk melihat detail lebih lanjut.

    http://id.jobsdb.com/ID/EN/Search/JobAdSingleDetail?jobsIdList=200003000024222&IsInPopupPage=true&JsonData=null&Webflow=MainPage&popupChildWindowId=1

    Jika tertarik, harap mereply email ini beserta dengan CV dalam bahasa inggris.
    Jika tidak memiliki pengalaman di DB2, CV tidak akan dilihat.

    Thanks,
    HRD
    PT Stratsol Global

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>