Thursday, October 18, 2018

Instrukcje warunkowe


Jeśli chcesz wykonać jakiś kawałek kodu w zależności od określonych warunków, możesz wykorzystać blok IF.

do
$$
declare
temp integer:=16;
begin
if(temp<0) then raise notice 'mróz';
elsif(temp<=10) then raise notice 'zimno';
elsif(temp<=15) then raise notice 'chłodno';
elsif(temp<=25) then raise notice 'ciepło';
elsif(temp<=35) then raise notice 'gorąco';
else raise notice 'wypatruj grzyba atomowego';
end if ;
end $$;

W zależności od temperatury podanej poprzez zmienną temp zostanie wyświetlony odpowiedni komunikat.


Zwróć uwagę na sposób organizacji sprawdzania warunków w elsif. Każdy kolejny warunek jest sprawdzany dopiero gdy ten który go poprzedza nie jest spełniony. Poruszam się po pewnego rodzaju skali. Z tego też powodu nie sprawdzam temperatury na zasadzie "elsif(temp>=0 and temp<=10)". Dlaczego? Weźmy dla przykładu użytą tutaj temperaturę 16 stopni. Wyświetla nam się "ciepło" ponieważ wartość ta mieści się w zakresie 15-24. W warunku sprawdzam jedynie czy temperatura jest mniejsza od 25 i nie muszę sprawdzać czy jest większa od 15, ponieważ na pewno taka jest skoro dotarliśmy do tego warunku. Gdyby temperatura była mniejsza bądź równa 16, wykonanie bloku if zostałoby zakończone na którymś z wcześniejszych warunków.
Bloki if mogą mieć tylko jeden warunek, mogą składać się tylko z if i else, albo z if, else i dowolnej ilości elsif, przy czym else zawsze jest na końcu a if zawsze na początku. Nie zapomnij też o zamknięciu bloku warunkowego przy użyciu "end if";




No comments:

Post a Comment

Bezpłatny kurs PL/pgSQL by Andrzej Klusiewicz

Cześć  :) Oddaję w Wasze ręce wersję 1.0.0.0.0.(0) swojego tutoriala dotyczącego języka PL/pgSQL - czyli proceduralnego języka przetwarza...