CodeBlanks Logo Icon CodeBlanks

Recursion durdurma

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 < 5

Bu 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

query.sql
-- durdurma koşulu
SELECT n + 1 FROM countdown

Örnek çözüm

query.sql
SELECT n + 1 FROM countdown WHERE n < 5

Beklenen çı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

Soru
SELECT n + 1 FROM countdown ____ n < 5
Cevap
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.

İleri seviye bölümündeki tüm dersler