SEO (Arama Motoru Optimizasyonu) Mikro İnteraktif ÜCRETSİZ - Google Play'den İndirin

SQL'de Trigger Örneği 1

Veritabanında bir işlem yaparken (ekleme, güncelleme vs..) aynı anda yapılan o işleme bağlı olarak bir başka olayını tetikleme (trigger) örneği.

Bu makalemizde bir tabloda yaptığımız bir güncellemeyi o tabloya ait başka tablolarda da yansıtmak için trigger (tetikleme) örneğimizi inceleyelim. Örnek olarak şehirler ve ilçeler tablosu üzerinden anlatacağız.
Şehirler tablosunda bir tane şehrin durumunu güncellediğimizde o şehire ait tüm ilçelerin durumunu güncelleyelim.
Şehirler Tablosu
CREATE TABLE tblSehirler
(
sehir_ID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
sehir_adi VARCHAR(100),
plaka VARCHAR(3),
eklenme_tarihi DATETIME NOT NULL DEFAULT (getdate()),
durum TINYINT DEFAULT 0
)

Tablomuz oluştu. Şimdi birkaç tane şehir verisi ekleyelim.
Şehirler Tablosuna Ait Kayıtlar
INSERT INTO tblSehirler (sehir_adi, plaka, durum) VALUES ('ADANA', '01', 1)
INSERT INTO tblSehirler (sehir_adi, plaka, durum) VALUES ('ADIYAMAN', '02', 1)
INSERT INTO tblSehirler (sehir_adi, plaka, durum) VALUES ('AFYON', '03', 1)
INSERT INTO tblSehirler (sehir_adi, plaka, durum) VALUES ('DENEME', '04', 1)

Şehirler tablosu ve ona ait kayıtlar eklendi. Şimdi de ilçeler tablosunu oluşturalım
tblSehirler Tablosu
SQL Server Trigger Örnek 1

İlçeler Tablosu
CREATE TABLE tblIlceler
(
ilce_ID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
sehir_ID INT,
ilce_adi VARCHAR(100),
eklenme_tarihi DATETIME NOT NULL DEFAULT (getdate()),
durum TINYINT DEFAULT 0
)

İlçeler Tablosuna Ait Kayıtlar
INSERT INTO tblIlceler (sehir_ID, ilce_adi, durum) VALUES (1, 'ADANA İLÇE 1', 1)
INSERT INTO tblIlceler (sehir_ID, ilce_adi, durum) VALUES (1, 'ADANA İLÇE 2', 1)
INSERT INTO tblIlceler (sehir_ID, ilce_adi, durum) VALUES (2, 'ADIYAMAN İLÇE 1', 1)
INSERT INTO tblIlceler (sehir_ID, ilce_adi, durum) VALUES (3, 'AFYON İLÇE 1', 1)
INSERT INTO tblIlceler (sehir_ID, ilce_adi, durum) VALUES (4, 'DENEME İLÇE 1', 1)
INSERT INTO tblIlceler (sehir_ID, ilce_adi, durum) VALUES (4, 'DENEME İLÇE 2', 1)
INSERT INTO tblIlceler (sehir_ID, ilce_adi, durum) VALUES (4, 'DENEME İLÇE 3', 1)

İlçeler tablosu ve ona ait kayıtlar eklendi. Şimdi de trigger yazalım.
tblIlceler Tablosu
SQL Server Trigger Örnek 1

Şehirler tablosundaki durum sütununun değerine göre ilçeler tablosundaki durum sütununun değerinin değişmesini sağlayan trigger yazalım.
Trigger
CREATE TRIGGER trgSehirler_Update ON tblSehirler
AFTER UPDATE
AS
BEGIN
UPDATE tblIlceler 
SET durum = i.durum
FROM tblIlceler 
INNER JOIN INSERTED i ON tblIlceler.sehir_ID = i.sehir_ID
END

Şimdi de yazdığımız triggerın testini yapalım. Mesela tblSehirler tablosundaki sehir_ID=4 nolu kaydın durum sütununu güncelleyelim. Ardından tblIlceler tablosunda sehir_ID=4 olan kayıtların durum sütununu kontrol edelim.
Şehirler Tablosu Güncelleme
UPDATE tblSehirler SET durum=0 WHERE sehir_ID=4 

tblSehirler Tablosu Güncelleme Sonrası
SQL Server Trigger Örnek 1

Şehirler tablosunda güncelleme yaptık. Sırada ise İlçeler tablosunda güncellenen kayıtları gösterelim.
tblIlceler Tablosu Güncelleme Sonrası
SQL Server Trigger Örnek 1

Yorumlar

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

Çizgi Filmler

REKLAM

Çocuk Etkinlikleri Uygulaması

EN

  • Popüler
  • Yeni
  • Son Yorum