selemat siang.... mohon pencerahannya nih, saya lagi belajar mysql, saat ini lagi membuat trigger tapi mentok terus, baru berhasil membuat untuk update satu tabel saja.
kasusnya begini:
tabel yang saya punyai seperti ini:
Tabel History
!---------- ! ---------------- !
! NIS ! Nama !
!---------- ! --------------- !
! 123456 ! Agus Sanyaya !
! 123457 ! Agus Budi !
! 123458 ! Cinta Agung !
!----------- ! ---------------- !
Tabel Detil
!---------- !-----------------!-------------------!
! NIS ! Nama Depan ! Nama Belakang !
!---------- !-----------------!--------------------!
! 123456 !Agus ! sanjaya !
! 123457 !Agus ! Budi !
! 123458 !Cinta ! Cinta !
! ---------- ! --------------- ! -------------------!
jadi jika saya menambah di tabel siswa secara otomatis menambah ditabel histori dan di tabel detil,
dan ditabel detil ini field nama dipecah menjadi nama depan dan nama belakang.
trigger yang saya buat hanya berhasil menginput ke tabel history, triggernya seperti ini:
DELIMITER |
CREATE TRIGGER copy AFTER INSERT ON siswa
FOR EACH ROW
BEGIN
INSERT INTO histori(NIS,Nama) values(NEW.nis, new.nama);
end;
|
DELIMITER;
pernah saya coba untuk membuat dua trigger tapi pesen di mysql bahwa trigger tidak bisa dibuat lebih dari satu
mohon pencerahannya dari master semua terima kasih........
Age: 21 Joined: 18 Jan 2009 Posts: 111 Location: Sidoarjo
Posted: Mon Jun 08, 2009 10:36 pm
wew, klo ada tulisan lebih dari satu, berarti situ sudah buat trigger dengan nama ntu, walupun yg d buat salah, kudu diganti jadi CREATE OR REPLACE TRIGGER ....
udah, triger yang lama dah tak drop, terus buat trigger baru lagi sama dengan trigger yang berhasil cuma ditambah untuk pemecahan nama lengkap menjadi nama depan dan nama belakang.
Age: 21 Joined: 18 Jan 2009 Posts: 111 Location: Sidoarjo
Posted: Wed Jun 10, 2009 2:48 pm
yoexmgl wrote:
udah, triger yang lama dah tak drop, terus buat trigger baru lagi sama dengan trigger yang berhasil cuma ditambah untuk pemecahan nama lengkap menjadi nama depan dan nama belakang.
DELIMITER |
CREATE TRIGGER copy AFTER INSERT ON siswa
FOR EACH ROW
BEGIN
INSERT INTO histori(NIS,Nama) values(NEW.nis, new.nama);
end;
|
DELIMITER;
sedangkan untuk ambil nama depannya begono: select substring_index(nama,' ',1) from siswa
dah kucoba kayak gini :
DELIMITER |
CREATE TRIGGER isidetil AFTER INSERT ON siswa
FOR EACH ROW
set @nama1=select substring_index(nama,' ',1) from siswa;
set @nama2=select substring_index(nama,' ',-1) from siswa;
BEGIN
INSERT INTO detil(nis,nmdepan,nmbelakang)
values(NEW.nis,new.@nama1,new.@nama2);
end;
|
DELIMITER;
di table user, kita bisa gak pakai trigger buat ngecheck kalo user input emailnya misal huruf terakhir *.ru terus kita buat supaya gak bisa insert.
kira code nya kayak gimana bro ?
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum