Kontrol akışı
- SQL kursu
- İleri seviye
- Ders 40/81
- 4 dk
IF ve LOOP ile yordam içi akış öğrenirsin.
Kontrol akışı
Procedure içinde IF ve LOOP ile kontrol akışı yazılır.
CREATE PROCEDURE apply_discount(rate DECIMAL)
LANGUAGE SQL
AS $$
BEGIN
IF rate > 0 AND rate < 1 THEN
UPDATE products SET price = price * (1 - rate);
END IF;
END;
$$;Bu sorgu indirim uygular.
products tablosunda price = price * (1 - rate) değeri güncellenir.
Kontrol akışı — ayrıntı
IF koşulu, LOOP döngüyü, BEGIN-END bloğu tanımlar. Procedure dili veritabanına göre değişir.
PostgreSQL'de PL/pgSQL, MySQL'de kendi procedure dili, SQL Server'da T-SQL kullanılır; mantık aynı olsa da anahtar sözcükler değişebilir.
Uygulama Kontrol akışı
Bir procedure yaz: IF rate > 0 AND rate < 1 THEN UPDATE ....
Başlangıç kodu
-- kontrol akışı
CREATE PROCEDURE apply_discountÖrnek çözüm
CREATE PROCEDURE apply_discount(rate DECIMAL)
LANGUAGE SQL
AS $$
BEGIN
IF rate > 0 AND rate < 1 THEN
UPDATE products SET price = price * (1 - rate);
END IF;
END;
$$;Beklenen çıktı
Procedure oluşturuldu
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 IF ekle
BEGIN
____ rate > 0 AND rate < 1 THEN
UPDATE products SET price = price * (1 - rate);
END IF;
BEGIN
IF rate > 0 AND rate < 1 THEN
UPDATE products SET price = price * (1 - rate);
END IF;
Açıklama: IF … THEN … END IF bloğu koşul sağlanırsa güncellemeyi çalıştırır.
2 Kontrol akışı: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
IF |
koşul |
LOOP |
döngü |
BEGIN END |
blok |
kontrol |
akış |
3 Procedure'de koşul ne ile?
- CASE
- WHERE
- HAVING
- IF Doğru cevap
Açıklama: Procedure'de IF ile koşul yazılır.