Gammu dan CentOS : trigger dan stored procedure MySQL

Maaf...sebelumnya ngikut ngepost punya orang dari alamat ini...http://blog.ikc.co.id/?p=394

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.

Comments

Popular posts from this blog

mysql_connect(): Client does not support authentication protocol requested by server

setting printer kasir (EPSON LX300)

Kumpulan download di ziddu