CodeBlanks Logo Icon CodeBlanks

Kontrol akışı

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

query.sql
-- kontrol akışı
CREATE PROCEDURE apply_discount

Örnek çözüm

query.sql
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

Soru
BEGIN
  ____ rate > 0 AND rate < 1 THEN
    UPDATE products SET price = price * (1 - rate);
  END IF;
Cevap
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.

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