Konular
Link Değişimi
Php
Mysql
Html
Javascript
Windows Vista
Program Anlatımı
Internet
Google
Windows 2003 Server
Komikler
Windows Xp
Isa Server
Network
Ofis Programları
Css
Photoshop
Donanım
Joomla
Youtube Video
Diğer Konular
Jquery

Linklerimiz
Eskişehir Emlak
Gulet Turkey
Gulets Turkey
Otel Şikayet
Beş Yıldızlı Bodrum Otelleri
Justiniano Park Conti
Mavi Yolculuk Yunanistan
Marmaris Ferryboat Tickets
Gulet Sales
Otel telefonları
Otel Video
Otel Dizin
Otel Directory
Otel Resimleri
Otel Maps
Boutique Gulets

 
MYSQL MySQL ile Trigger Oluşturma
Triggerlar ilişkili veri tabanlarında çok önemli özelliklerden bir tanesidir. Trigger'ın anlamı tetikleyici olarak bilinmektedir. Herhangi bir olay gerçekleştiğinde neleri tetikleyeceğinin belirlendiği ve tetiklenme ile nelerin yapılacağının belirtildiği bir SQL kodudur diyebiliriz.

2 çeşit trigger vardır diyebiliriz. Bunlar:

1- Insert, Update, Delete işlemleri esnasında (öncesi-sonrası) tetiklenmesi ayarlanan triggerlar.

2- Create, Drop, Alter işlemleri öncesi ve sonrasında tetiklenmek için hazırlanan triggerlardır.

İlk trigger türünü bir örnek üzerinde açıklayacak olursak:

İlk önce bir tablo oluşturalım.

MySQL> CREATE TABLE uyelik(no INT, ucret DECIMAL(10,2));



Bu tablomuzda "no" isminde int tipinde bir değişken ile "ucret" isminde decimal değerde virgülden sonra iki sayının gösterebileceği değişkenler bulunmaktadır.

MySQL> CREATE TRIGGER ins_uye BEFORE INSERT ON uyelik

FOR EACH ROW SET @sonuc = @sonuc + NEW.ucret;



Bu SQL kodumuzda "ins_uye" ismi ile bir trigger oluşturduk. Bunu uyelik tablosunu baz alarak "BEFORE INSERT ON" tetikleyicisini belirttik. Burada "BEFORE INSERT ON" = "Tabloya bir satır ekleme öncesi" koşulunu belirledik. "FOR EACH ROW SET" kelimeleri ile "@sonuc = @sonuc + NEW.ucret" işlemini her bir ekleme gerçekleştiğinde var olan sonuc değerine yeni eklenen satırdaki ucret değerinin eklenmesi söylenir.

Tablomuza birkaç veri ekleyerek sonucu görelim:

MySQL> SET @sonuc = 0;

MySQL> INSERT INTO uyelik VALUES(15,155.21),(25,526.45),(35,-500.00);

MySQL> SELECT @sonuc AS 'Toplam Eklenen Ucret';

+----------------------+

| Toplam Eklenen Ucret |

+----------------------+

| 181.66 |

+----------------------+



Update komutu ile güncelleme üzerine bir trigger belirleyelim:



MySQL> delimiter //

MySQL> CREATE TRIGGER upd_check BEFORE UPDATE ON uyelik

FOR EACH ROW

BEGIN

IF NEW.ucret < 0 THEN

SET NEW.ucret = 0;

ELSEIF NEW.ucret > 100 THEN

SET NEW.ucret = 100;

END IF;

END;//

MySQL> delimiter ;



Burada delimiter komutu kod bloğunun ayracı olarak kullanılmaktadır. "upd_check" isminde bir trigger oluşturup uyelik tablosunu baz alarak update işlemi yapacağımızı belirtmişiz. Sonrasında yapılacak işlemlere başlangıç olarak begin komutu ile başlamışız. Gerekli koşullarımızı girdikten sonra koşullar ve bloklar için kapatma komutlarını girip delimiter' ı da sonlandırıp trigger oluşturma işlemimizi bitiriyoruz.



MySQL> update uyelik set ucret='129.12' where ucret='155.21';



Yukarıdaki SQL cümleciği, uyelik tablosu içerisinde ucret değeri 155.21 olan değeri değiştirerek 129.12 yapmak için oluşturulmuştur fakat oluşturduğumuz kısıtlama sebebi ile 129.12 değeri yerine 100.00 değeri tablomuza eklenecektir. Select komutu ile tablomuzu görmeye çalıştığımızda çıktımız şu şekilde olacaktır:



+------+---------+

| no | ucret |

+------+---------+

| 15 | 100.00 |

| 25 | 526.45 |

| 35 | -500.00 |

+------+---------+



Bu trigger güncelleme (update) işlemi sırasında eğer güncellenen ucret değeri 0 değerinden küçük ise değeri 0'a eşitleyip gerekli yere ekliyor. 100'den büyük girildiğinde ise 100 değerine eşitleyip gerekli yere ekleme yapıyor.



Oluşturduğunuz triggerları ve ayarlamalarını görmek için;

MySQL> show triggers; //yazmanız yeterli olacaktır...



Oluşturulan triggerları kaldırmak için tablolarda yaptığımız gibi DROP SQL komutunu kullanmamız gerekecektir;

MySQL> DROP TRIGGER upd_check;
Böyyük Patron Tarafından 11-03-2010 Tarihinde Gönderilmiştir.   Bu Konuyu Yazdır
Kaynak : Muhammed Ali KOŞAN

 

En Son Eklenenler
İnternet
card recovery
php
ip adresi kontrolü ip validate
php
url adresi kontrolü validate url
php
php mail adresi kontrolü filter_var
php
dosya include error hatasını engellemek
jquery
internet explorer position fixed sorununu jquery ile çözmek
jquery
input alanlara girilen sayıların toplanarak gösterilmesi
MYSQL
aynı satırdaki (row) field değerlerin içinde en büyüğünü (max) bulmak
MYSQL
aynı satırdaki (row) field değerlerin içinde en küçüğünü (min) bulmak
jquery
select kutusunda seçilen option daki attribute özelliğindeki değeri almak
jquery
jquery dizide max ve min işlemeleri array max min
MYSQL
mysql de türkçe kayıtlı alanlarda arama yapmak
php
str_shuffle()
php
sql_regcase()
php
mysql_affected_rows()
php
php Chop
php
php pathinfo
MYSQL
Mysql de trigger
php
eposta adresine ait mx kaydının olup olmadığını kontrol etmek
php
Türkçe karakter destekli array sort
Javascript
Diziler ve Türkçe Karakterleri Sıralama
php
php curl türkçe karakter sorunu çözülmüştür
jquery
jquery mouse sağ tuşu kilitlemek
jquery
jquery tagların value değerini öğrenmek
jquery
jquery multiple selector çoklu element seçimi
jquery
jquery zebra tablolar yapmak iki renkli tablo yapımı
jquery
jquery sayfayı refresh etmek sayfayı yenilemek
jquery
jquery resim yüklenemiyorsa farklı resim göstermek
php
tckimlik sorgulama
php
php ile javascript ve style (css) dosyalarını browsere sıkıştırarak göndermek
php
curl ile twitpic.com sitesine resim upload etmek
php
stringde aradağımız stringin posizyonunu bulmak tripos()
php
stringdeki karakekterlerden rastgele yeni karakter türetmek str_shuffle()
php
addcslashes()
php
sabitleri yoketmek defined()
php
php kodlarını renkli göstermenin basit yolu show_source()
php
glob ile dosya listelemek
php
iki ayrı dizide değeri aynı olanlardan yeni bir dizi yapmak array_intersect()
php
dizi key ile değerini yer değiştirmek array_flip()
php
dizilere filtre uygulamak array filter
İletişim : bpatron@codekodu.com
770169Kişi Tarafından Sitemiz Ziyaret Edilmiştir. 13 Kişi Online
Bugün 12 Saat 40 Dakikada Sitemizi Tekil 242 Kişi Ziyaret Etmiştir.
Dün Sitemizi Tekil 697 Kişi Ziyaret Etmiştir.
Sitemizi En Çok Tekil 12-12-2011 Tarihinde 857 Kişi Ziyaret Etmiştir.
Sitemizdeki bilgilerin büyük çoğunluğu alıntıdır.İlgili yazının yazarının veya kaynak sahibinin istemesi halinde ilgili yazı sitemizden kaldırılacaktır.
Sitemizin İmalatı Böyyükpatron Tarafından Yapılmıştır.