Articles Comments

{ Berbagi, Menulis, Dan Mengajar } Ilmu… » 7. Operating System » Gammu TRIGGER MYSQL

Gammu TRIGGER MYSQL

Gammu dan CentOS : trigger dan stored procedure MySQL
Posted on January 28, 2009 by mahasiswastress

Gambaran untuk eksperimen (masih berhubungan dengan tulisan sebelumnya GAmmu dan CentOS: menggunakan lebih dari satu modem)
Aplikasi akan terdiri dari 3 modem
Setiap modem terhubung dengan sebuah database(smsd0,smsd1,smsd2)
Terdapat satu database (smsdMaster) yang menghubungkan semua database modem.
Begitu ada pesan masuk pada salah satu modem, selain tersimpan pada database modem, juga akan tersimpan pada databaseMaster.
Pesan akan didibalas melalui modem tertentu sesuai dengan persyaratan yang dibuat.
Langkah-langkah untuk eksperimen
1.dari tulisan sebelumnya kita memiliki database smsdMaster, smsd0, smsd1, smsd2
2.buat trigger pada masing-masing databse untuk memasukkan data secara otomatis kedalam databse smsdMaster.buka sqlcommand pada databse yang bersangkutan dan buat trigger
—————–
CREATE TRIGGER tammbahSebelum BEFORE INSERT ON inbox
FOR EACH ROW
INSERT INTO smsdmaster.inbox ( ReceivingDateTime, Text, SenderNumber, Coding, UDH, SMSCNumber, Class, TextDecoded, ID, RecipientID, Processed)
VALUE ( NEW.ReceivingDateTime, NEW.Text, NEW.SenderNumber, NEW.Coding, NEW.UDH, NEW.SMSCNumber, NEW.Class, NEW.TextDecoded, NEW.ID, NEW.RecipientID, NEW.Processed)
—————–
DELIMITER //
3.Pada database smsdmaster buat store procedure untuk memilih melalui modem mana pesan akan dibalas dan pemilihan modem ini berhubungan dengan pemilihan database.
modem yang dipilih akan disesuaikan dengan nomor hap pengirim.
—————–
CREATE PROCEDURE pilihDb(DNumber varchar(20))
BEGIN
IF LEFT(DNumber,6)=”+62818″ THEN
INSERT INTO smsd0.outbox (InsertIntoDB,SendingDateTime,DestinationNumber,Coding,TextDecoded,SendingTimeOut, DeliveryReport,CreatorID) VALUES (sysdate(),sysdate(),DNumber,’Default_No_Compression’,’Terima Kasih dari modem 0′,sysdate(),’yes’,’Komputer’);
ELSEIF LEFT(DNumber,6)=”+62812″ THEN
INSERT INTO smsd1.outbox (InsertIntoDB,SendingDateTime,DestinationNumber,Coding,TextDecoded,SendingTimeOut, DeliveryReport,CreatorID) VALUES (sysdate(),sysdate(),DNumber,’Default_No_Compression’,’Terima Kasih dari modem 1′,sysdate(),’yes’,’Komputer’);
ELSE
INSERT INTO smsd1.outbox (InsertIntoDB,SendingDateTime,DestinationNumber,Coding,TextDecoded,SendingTimeOut, DeliveryReport,CreatorID) VALUES (sysdate(),sysdate(),DNumber,’Default_No_Compression’,’Terima Kasih dari modem 2′,sysdate(),’yes’,’Komputer’);
END IF;
END
——————
DELIMITER //
4. Buat trigger pada database smsdMaster agar menjalankan prosedure pilihDb saat pada taberl inbox
——————
CREATE TRIGGER masukOutbox AFTER INSERT ON inbox
FOR EACH ROW CALL pilihDb(NEW.SenderNumber)
——————
DELIMITER //
5.selanjutnya silahkan mengirimkan pesan dan anda akan mendapatkan balasan dari modem yang disesuaikan dengan nomor hp anda.

Filed under: 7. Operating System

Leave a Reply

*

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>