Stored Procedure
Önceden derlenmiş, sunucuda saklanan SQL kod bloğudur. Tekrar tekrar çağrılabilir, parametre alabilir.
CREATE PROCEDURE MusteriGetir
@SehirAdi NVARCHAR(50)
AS
BEGIN
SELECT adi, soyadi, email
FROM musteriler
WHERE sehir = @SehirAdi
ORDER BY adi;
END;
-- Çağırma
EXEC MusteriGetir @SehirAdi = 'İstanbul';View
Sanal tablo. Karmaşık sorguları basitleştirir, güvenlik katmanı sağlar.
CREATE VIEW AktifMusteriler AS
SELECT m.adi, m.email, COUNT(s.id) AS siparis_sayisi
FROM musteriler m
LEFT JOIN siparisler s ON m.id = s.musteri_id
WHERE m.aktif = 1
GROUP BY m.adi, m.email;
-- Kullanım
SELECT * FROM AktifMusteriler WHERE siparis_sayisi > 5;Trigger
Tablo üzerinde INSERT/UPDATE/DELETE işlemi gerçekleştiğinde otomatik çalışır.
CREATE TRIGGER SiparisLogla
ON siparisler
AFTER INSERT
AS
BEGIN
INSERT INTO siparis_log (siparis_id, tarih, islem)
SELECT id, GETDATE(), 'YENİ SİPARİŞ'
FROM inserted;
END;