Hanyalah sebuah coretan

Cara untuk membuat Mysql Trigger Function

assalamualaykum, bismillah..

pada kesempatan kali ini ane mw bahas masalah salah satu function mysql yaitu trigger.

function trigger ini sangat bermanfaat. jadi function ini sebenarnya adalah untuk memicu suatu table dan melakuan suatu aksi. seperti artinya trigger=pemicu . jadi jika ada sesuatu aksi yang terjadi pada suatu table, kita bisa memerintahkan table tersebut untuk melakukan aksi yang laen.. ribet,pusing,cenat-cenut? ehehehe.. ok2 langsung ke contohnya aja biar jelas..

skenarionya gini men…contoh ada 2 table

Table A

id | firstname | lastname

—————————–

1 | Hammas  | Hamzah

2 | Idho        | Kuddah

Table B

id | firstname | lastname

—————————–

1   | Ahmad   | Baraja

nah, dari 2 table di atas , ana mau kalo ada insertion baru di table A , di table B juga masuk row baru… nah,di sini trigger sangat membantu kita,daripada kita membuat koding yang banyak,lama,dan susah,.. mending pake trigger…

pada studi kasus di sini , id adalah auto_increment,ok? :D:D:D

ini dia syntaxnya..

Trigger On insert :

CREATE TRIGGER insert_from_tablea_to_tableb
AFTER insert ON Table A
FOR EACH ROW
BEGIN
insert into Table B
(id,firstname,lastname)
VALUES (new.firstname,new.lastname);
END;

Penjelasan :
maksut dari trigger di atas adalah , kita buat trigger yang namanya 
insert_from_tablea_to_tableb , setelah insert di Table A
lalu pada setiap row , insert ke table B dengan column (id,firstname,lastname) 
dengan values 
(new.id,new.firstname,new.lastname,new.cb_firmname,new.cb_officesphonenumber).
maksut NEW.namakolom di sini adalah merujuk pada TABLE A 
(table yg baru(NEW) aja di inser/update/delete) .
 jadi masukan value ke kolom firstname di table B 
dengan nilai kolom firstname dari TABLE A (NEW.firstname).

naah, dah paham kan ? .. ini dia syntax trigger untuk delete dan update 

Trigger On Update :
create trigger update_from_tablea_to_tableb
AFTER UPDATE ON Table A
FOR EACH ROW
BEGIN
	UPDATE Table B SET firstname=NEW.firstname,
			   lastname=NEW.lastname
                           WHERE id=NEW.id;
END;

Trigger On Delete :

CREATE TRIGGER delete_from_tablea_to_Tableb
AFTER DELETE ON Table A
FOR EACH ROW
BEGIN
DELETE FROM Table B WHERE id = OLD.id;
END;

kalo yang di delete NEW. nya jadi OLD. :D .. udah sekian
kalo ada pertanyaan apa2 ,
ga usa malu2 langsung cantumkan aja di komen di bawah,ok? :D
Advertisements

7 responses

  1. -

    wa’alaykum salaam wr. wb.
    mks buat infonya

    July 12, 2011 at 11:38 pm

  2. my responsibility my brother 😀

    July 13, 2011 at 12:02 am

  3. Ulla

    Gmana Klo Update 5 Tabel sekaligus? mhon Pencerahannya. Thankb4

    June 13, 2012 at 5:19 am

  4. bisa aja kalo mw buat 5 table sekaligus , caranya sama cuman buat aja berulang kali sebanyak table yang diinginkan , coba dulu 😀

    June 19, 2012 at 4:02 pm

  5. mas klo buat triger untuk pengurangan saldo gimana ya,,

    October 7, 2012 at 12:22 am

  6. Kadek

    thank’s ya udh share ilmu

    January 25, 2014 at 11:50 am

  7. klo mau ngapus triggernya gimana broo ?

    June 5, 2014 at 4:28 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s