sobota, 20 listopada 2010

Kurs Oracle PL/SQL. Instrukcje sterujące


IF THEN


Instrukcja IF THEN pozwala wykonywać różne działania w zależności od określonych warunków.
Wykorzystując ją, możemy określić np. że jeśli wartość zmiennej wynosi X program ma wykonać działanie A, a jeśli wartość zmiennej wynosi Y, program ma wykonać działanie B. Poniżej przedstawiam przykład najprostszej formy tej instrukcji:


Komunikat „zmienna ma wartość 50” wyświetlony zostanie tylko jeśli spełniony zostanie warunek po IF. Jeśli warunek nie zostanie spełniony, wykonane zostaną dalsze polecenia, następujące po „end if”. Warunków możemy oczywiście stosować znacznie więcej:

 

Kolejne warunki dodajemy stosują ELSIF …. THEN. Program będzie sprawdzał kolejne warunki do czasu aż nie natrafi na taki który będzie spełniony. Nie będzie już wtedy sprawdzać kolejnych warunków, jeśli chcemy by mimo spełnienia jednego warunku kolejne były sprawdzane, musimy zastosować wielokrotnie konstrukcję IF. Jeśli żaden warunek nie zostanie spełniony, wykonane zostaną instrukcje następujące po klauzuli ELSE. Stosowanie klauzuli ELSE nie jest obowiązkowe.

CASE



Instrukcja CASE ma dwie formy o dwóch różnych zastosowaniach. Pierwsza o której piszę służy do takich zastosowań jak IF THEN. Poniżej przedstawiam program o takiej samej zasadzie działania jak przykład z rozdziału o IF THEN, jednak korzystam z instrukcji CASE. Podobnie jak w instrukcji IF THEN warunki są sprawdzane do momentu dopasowania. Po klauzuli WHEN podajemy warunek logiczny
 
Powyższy przykład można oczywiście rozwiązać prostym dzieleniem, zależało mi jedynie na jak najbardziej zrozumiałym przykładzie.

Druga forma instrukcji CASE umożliwia przypisanie do zmiennej różnych wartości w zależności od warunków. Zmienna „polowa_zmiennej” przybierze wartość 5,10,15 lub w 0 w zależności od wartości zmiennej „zmienna”. Taka konstrukcja ma jednak pewne ograniczenie. Proszę zauważyć
że jedynym warunkiem logicznym jest równość. W tym wypadku nie możemy zastosować znaków > lub <.







Ten temat omawiam na poniższych szkoleniach:
• Programowanie w PL/SQL
• Podstawy SQL i PL/SQL
Możesz w nich uczestniczyć, a jako czytelnik tego bloga otrzymasz 10% zniżki - poinformuj o tym fakcie konsultanta.

2 komentarze:

  1. Widziałem już dużo kursów on line lepsze gorsze ...ale ten jest 'zajebisty' w prosty sposób przekazana ważna wiedza bez zbędnego bicia piany

    OdpowiedzUsuń
  2. Brakuje tutaj screena z pierwszym przykladem zastosowania CASE... a przynajmniej mam takie wrażenie;)

    OdpowiedzUsuń