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";
Subscribe to:
Post Comments (Atom)
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...
-
Najprostszy blok i wyświetlanie komunikatu Najbardziej podstawową formą programu Plpg/SQL jest blok anonimowy. Podstawowa struktura taki...
-
Jeśli w kodzie chcemy użyć jakichś zmiennych, musimy do bloku dodać sekcję declare. Umieszczamy w nim deklaracje zmiennych, możemy również ...
-
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...
No comments:
Post a Comment