Veritabanı programlama
Fonksiyonlar, IF ve WHILE
Satır satır düşünmek yerine kümeyi düşün.
Kavramı anlayalım
Scalar fonksiyon tek değer, inline table-valued function ise parametreli tablo ifadesi döndürür. Inline TVF sorgunun ilişkisel yapısına katılabilir. Scalar UDF performansı sürüme ve inlining uygunluğuna bağlıdır; her satırda çağrılan maliyetli fonksiyonu ölç. UDF ile procedure’ün yan etki ve işlem olanakları aynı değildir.
IF/ELSE kontrol akışını, CASE ise ifade sonucunu seçer. WHILE ve cursor bazı operasyonlarda gerekebilir; binlerce kayıt için çoğu zaman set-based UPDATE veya INSERT daha anlaşılırdır. Döngünün ilerleme koşulu ve bitiş sınırı açık olmalıdır. Bu dersteki döngü yalnız üç küçük değer üretir; veri işleme tavsiyesi değildir.
Parametreli okuma mantığı ve kontrollü akış için.
Her satır için döngü kurarak SQL’i uygulama dili gibi kullanmak.
Aynı konu. Üç farklı derinlik.
IF EXISTS (SELECT 1 FROM lab.Product WHERE Stock = 0) SELECT N'Replenishment needed' AS Message;Koşul gerçekleşirse bir sonuç döndürür.
Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.
Önce kendin dene.
Döngü kullanmadan stoku sıfır ürünleri seç.
Çözümü ve açıklamasını göster
SELECT ProductId, ProductName FROM lab.Product WHERE Stock = 0;Cable döner; set-based sorgu doğrudan iş kuralını anlatır.