Konular
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 Satılık Arsa
Private Gulet Charters
Otel Şikayet
Yat Kiralama Fiyatları
Rhodes Marmaris Ferry Boats
Gulet For Sale Turkey
Otel telefon
Otel Video
Otel Dizin
Otel Directory
Otel Resimleri
Otel Maps
Boutique Gulets

 
MYSQL Mysql de trigger
Trigger kelime anlamıyla tetikleyiciler, bir tabloya atanan ve o tablodaki istenen olay gerçekleştiğinde (insert,update veya delete)
server tarafında kendiliğinden çalışan bizim oluşturduğumuz
SQL kodlarıdır. MySql in sitesinde verdiği örnek ile açıklamaya çalışayım.
Önce tablolarımızı oluşturalım

CREATE TABLE test1(a1 INT);
CREATE TABLE test2(a2 INT);
CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
CREATE TABLE test4(
a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
b4 INT DEFAULT 0
);
bu da triggerimiz

delimiter $$
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;$$
delimiter;
verilerimizi eklyelim

INSERT INTO test3 (a3) VALUES
(NULL), (NULL), (NULL), (NULL), (NULL),
(NULL), (NULL), (NULL), (NULL), (NULL);INSERT INTO test4 (a4) VALUES
(0), (0), (0), (0), (0), (0), (0), (0), (0), (0);
INSERT INTO test1 VALUES (1), (3), (1), (7), (1), (8), (4), (4);
ve gidip tablolarımıza bakalım

mysql> SELECT * FROM test1;
+--+
| a1 |
+--+
| 1 |
| 3 |
| 1 |
| 7 |
| 1 |
| 8 |
| 4 |
| 4 |
+--+
8 rows in set (0.00 sec)mysql> SELECT * FROM test2;
+--+
| a2 |
+--+
| 1 |
| 3 |
| 1 |
| 7 |
| 1 |
| 8 |
| 4 |
| 4 |
+--+
8 rows in set (0.00 sec)
mysql> SELECT * FROM test3;
+--+
| a3 |
+--+
| 2 |
| 5 |
| 6 |
| 9 |
| 10 |
+--+
5 rows in set (0.00 sec)
mysql> SELECT * FROM test4;
+--+--+
| a4 | b4 |
+--+--+
| 1 | 3 |
| 2 | 0 |
| 3 | 1 |
| 4 | 2 |
| 5 | 0 |
| 6 | 0 |
| 7 | 1 |
| 8 | 1 |
| 9 | 0 |
| 10 | 0 |
+--+--+
10 rows in set (0.00 sec)
iyide ne oldu ne yaptın şimdi diyorsunuzdur belki. Anlatayım, zaten tablo oluşturma ve tabloya veri ekleme işlemlerini
bildiğinizi varsayarak trigger a geçiyorum.
Burada biz MySql e dedikki:
(Eyyy MySql )
eğer test1 tablosuna veri eklenirse bu eklemeden önce // CREATE TRIGGER testref BEFORE INSERT ON test1
test2 tablosundaki a2 alanını yeni eklenen veriyi ekle // INSERT INTO test2 SET a2 = NEW.a1;
test3 tablosundaki a3 alanınıdan yeni eklenen veriye denk gelen sütunu sil //DELETE FROM test3 WHERE a3 = NEW.a1;
test4 tablosundaki b4 alanına a4 alanının yeni eklenen veriyle eşleşen sütununu bir arttır // UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
(o da bizi kırmadı sağolsun yapıverdi işlemleri)
Burada bahsi geçen NEW anahtarı üzerinde işlem yapılan tabloya eklenen verilerdir, OLD kullanmış olsaydık o tablo üzerindeki eski verilere
işaret ediyor olacaktık.
Triggerları BEFORE ve AFTER anahtarlarını kullanarak o tablo üzerinde işlem gerçekleşmeden önce veya işlem gerçekleştikten sonra
çalışmasını sağlayabiliriz. Biz yukarıda BEFORE anahtarını kullanarak test1 tablosuna veriler eklenmeden önce işlemlerimizin gerçekleşmesini
istedik.Triggerin syntaxı

DELIMITER $$
CREATE TRIGGER 'trigger_ismi' 'trigger_event|INSERT|UPDATE|DELETE' ON 'tablo_ismi'
FOR EACH ROW BEGINSQL işlemleri
END;$$
DELIMITER;
hepsi bundan ibaret.
Böyyük Patron Tarafından 02-04-2011 Tarihinde Gönderilmiştir.   Bu Konuyu Yazdır
Kaynak : http://www.ersindogan.com/page/7

 

En Son Eklenenler
php
php klasörün altındaki dosyaları ve klasörleri göstermek
php
php array verilerini dosyaya kayıt etme dosyadan okuma
php
php string içindeki fazla boşlukları (whitespaces) kaldırmak
Diğer Konular
.htaccess ile dosyalarınız cache ile sayfa hızınız artsın
Javascript
javascript linklerde referrer bilgisi gönderilmesi
jquery
input ve textarea kutularına girilince kutunun içindeki değerlerin silinmesi
jquery
jquery ui autocomplate - Sonuçları formatlamak
jquery
jquery ui autocomplate - arama sonuçlarında satır sayısı belirlemek
php
iconv ile utf karakterleri çeviriken kesme işareti (apstrof) sorunu
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()
İletişim : bpatron@codekodu.com
877319Kişi Tarafından Sitemiz Ziyaret Edilmiştir. 18 Kişi Online
Bugün 02 Saat 33 Dakikada Sitemizi Tekil 124 Kişi Ziyaret Etmiştir.
Dün Sitemizi Tekil 937 Kişi Ziyaret Etmiştir.
Sitemizi En Çok Tekil 14-03-2012 Tarihinde 962 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.