Acil lazım durumlarından birinde Kayako'nun Help Destek sistemine Trigger yazmam gerekiyordu.
Durum için genel olarak source kodlara indim. Neredeyse 1.5 hafta kodlarla boğuştum ce sonra kendime kızdım tabi. O kadar Oracle, Sql server da ve Firebirde deli gibi trigger yazan herif php kodlarıyla boğuşuyordu. Mysql 5 den sonrası içn trigger sistemi geliştirmişti.
Genel çapta tabi ki anlatmıcam ama izinden gittiğim kodları yazıcam;
İki tablodan birisi açıklama birisinde de başlıklar mevcuttu. Açıklama içerisinde başlığın id değeri vardı. Başlıkta ki değişen bir değeri olduğu gibi onu tetikleyen açıklama tablosuna yazdırmam gerekiyordu. Kodlar açık ve net;
Bu kodların açıklaması ise şu; table1 de ki değişen id değeri table2 de ki yerini alıyor ;)
Öpüldünüz..
Mysql Trigger Kullanmak;
Durum için genel olarak source kodlara indim. Neredeyse 1.5 hafta kodlarla boğuştum ce sonra kendime kızdım tabi. O kadar Oracle, Sql server da ve Firebirde deli gibi trigger yazan herif php kodlarıyla boğuşuyordu. Mysql 5 den sonrası içn trigger sistemi geliştirmişti.
Genel çapta tabi ki anlatmıcam ama izinden gittiğim kodları yazıcam;
İki tablodan birisi açıklama birisinde de başlıklar mevcuttu. Açıklama içerisinde başlığın id değeri vardı. Başlıkta ki değişen bir değeri olduğu gibi onu tetikleyen açıklama tablosuna yazdırmam gerekiyordu. Kodlar açık ve net;
CREATE TRIGGER table1_insert_oncesi BEFORE INSERT ON table1 FOR EACH ROW BEGIN DECLARE son_id1 INT; IF NEW.id1 IS NULL THEN BEGIN SELECT MAX(id1) INTO son_id1 FROM table1; IF son_id1 IS NULL THEN SET NEW.id1 = 101; ELSE SET NEW.id1 = son_id1 + 5; END IF; UPDATE table2 SET id2=LAST_INSERT_ID(NEW.id1); END; END IF; END;
Bu kodların açıklaması ise şu; table1 de ki değişen id değeri table2 de ki yerini alıyor ;)
Öpüldünüz..
Favori olarak isaretleyin
Favorilerinize ekleyin
Bunu e-posta ile gonder
Okuma: 417
Yorumlar (0)

Yorum yaz
yLmz
Budur, belki anlamsız cümleleri; Belki anlamsız harfleri birleştiriyorum hayatımda,, olması gerektiği gibi yada olmasını istediğim gibi, zor olduğunu benden daha iyi kimse bilemez ama yazmak çizmek oluşturmak benim işim, bundan para kazanyorum (=
Dil Seçeneği
Online OL
Yapıtlarım..
- Hafta Sonu
- Warning: Cannot modify header information - headers already sent by bilmemne bilmemne
- IIS 7.0 & Oracle 10g R2
- God Of War Teorisi
- Nihayet Bea
- Ömer Üründül Vuvuzelayı geçti..
- Kategorize
- Çılgın Kampanyalı Alişveriş İsteyenler Buraya..
- Visual Studio 2010 Önizleme sayılır..
- Oracle Base 2
- Youtube a Giriş 2010
- Rad Component - Telerik
- E be Oracle..
- Sistem Yenilenmeliydi..
- Microsoft Lansmanı 2010
- Denizin Dibinde..
- Bir iki şarkı daha..
- Bir Gün Belki Hayattan v4
- Biraz da Şiir..
- Bu ara ihtiyacım var sana..
Kimler Online
Hiçbiri


