Recursion durdurma
- SQL kursu
- İleri seviye
- Ders 11/81
- 4 dk
Recursive CTE'nin ne zaman duracağını öğrenirsin.
Recursion durdurma
Recursive CTE'de koşul recursive kısmın WHERE'sinde yazılır. Koşul sağlanmayınca durur.
SELECT n + 1 FROM countdown WHERE n < 5Bu sorgu n 5'e ulaşınca durur.
countdown kaynağından n + 1 seçilir. WHERE n < 5 koşulunu sağlamayan satırlar elenir.
Recursion durdurma — ayrıntı
Koşul yoksa sonsuz döngü oluşur. Veritabanı genellikle bir derinlik sınırıyla korur.
Durdurma koşulunu recursive kısmın WHERE'ine yazarsın (ör. WHERE n < 5). PostgreSQL'de koşulu unutursan sorgu bellek bitene kadar çalışabilir.
Uygulama Recursion durdurma
Recursive CTE'de WHERE n < 5 koşulu ile durmayı sağla.
Başlangıç kodu
-- durdurma koşulu
SELECT n + 1 FROM countdownÖrnek çözüm
SELECT n + 1 FROM countdown WHERE n < 5Beklenen çıktı
n 2 3 4 5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 WHERE ekle
SELECT n + 1 FROM countdown ____ n < 5
SELECT n + 1 FROM countdown WHERE n < 5
Açıklama: WHERE n < 5 durdurma koşuludur; koşul sağlanmayınca özyineleme yeni satır üretmez.
2 Recursion durdurma: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
koşul |
durdur |
WHERE |
filtre |
sonsuz |
tehlike |
sınır |
derinlik |
3 Recursive CTE ne zaman durur?
- Asla
- Her zaman
- Koşul sağlanmayınca Doğru cevap
- Otomatik
Açıklama: Koşul sağlanmayınca durur.