PostgreSQL if ina inaczej

PostgreSQL if ina inaczej

W wielu językach programowania oświadczenie IF-ELSE jest wspólnym sposobem wdrażania warunków i podejmowania decyzji, biorąc pod uwagę przesłankę. Na podstawie warunku instrukcja IF-Else decyduje, jaki kod wykonać.

PostgreSQL jest również wyposażony w wersję instrukcji IF-ELSE. W tym przewodniku przyjrzymy się JEŚLI INACZEJ Oświadczenie w PostgreSQL.

Jeśli jeszcze w PostgreSQL

Istnieją trzy formy instrukcji IF w PostgreSQL:

  • JEŚLI
  • Jeśli wtedy
  • Jeśli wtedy Elsif

JEŚLI Oświadczenie określa, które instrukcje należy wykonać na podstawie wyniku wyrażenia logicznego.

Podstawowa struktura JEŚLI Oświadczenie jest następujące:

JEŚLI NASTĘPNIE
;
Zakończyć, jeśli;

W przypadku Jeśli wtedy, Struktura jest następująca:

JEŚLI NASTĘPNIE
;
W PRZECIWNYM RAZIE
;
Zakończyć, jeśli;

Dla Jeśli wtedy Elsif, Struktura jest następująca:

JEŚLI NASTĘPNIE
;

JEŚLI NASTĘPNIE
;
W PRZECIWNYM RAZIE
;
Zakończyć, jeśli;

Wymagania wstępne

Aby wykonać kroki wykazane w tym przewodniku, będziesz potrzebować następujących elementów:

  • Odpowiednio skonfigurowany system Linux. Dowiedz się więcej o instalacji Ubuntu w VirtualBox.
  • PostgreSQL zainstalowany i skonfigurowany. Sprawdź instalację PostgreSQL na Ubuntu.

Wdrożenie, jeśli inaczej instrukcje

W tej sekcji zaprezentujemy kilka przykładów wdrażania JEŚLI INACZEJ Oświadczenia, które przeszliśmy do tej pory. Większość przykładów nie wymaga żadnego wcześniejszego zestawu danych.

Przykład 1 - Używanie IF

Przykład zawiera prosty program: znalezienie największej z dwóch liczb. Zadeklarujemy dwie zmienne, przypisujemy im wartości, porównywamy ich wartości i wyjście na podstawie wyniku porównania.

Zrób $$
OGŁOSIĆ
var_a smallint: = 65;
var_b SmallItt: = 99;
ZACZYNAĆ
Jeśli var_a> var_b, to podnieś zawiadomienie „var_a> var_b”;
Zakończyć, jeśli;
Jeśli var_a < var_b THEN RAISE NOTICE 'var_a < var_b';
Zakończyć, jeśli;
If var_a = var_b, a następnie podnieś zawiadomienie „var_a = var_b”;
Zakończyć, jeśli;
Koniec $$;

Tutaj,

  • Porównujemy wartość dwóch Smallint zmienne var_a i var_b.
  • W porównaniu, wykonujemy Podnieś zawiadomienie Oświadczenie o ogłoszeniu wyniku porównania.

Przykład 2 - Używając if

Chociaż poprzedni przykład działa dobrze, ma niewielką karę za wydajność. Testuje warunki dla każdego JEŚLI oświadczenie, zużycie dodatkowej mocy obliczeniowej.

Na przykład, jeśli var_a> var_b jest PRAWDA, wtedy nie ma potrzeby przetwarzania dalej, jeśli oświadczenia, prawda? Musimy dalej testować tylko wtedy, gdy var_a> var_b zwraca FAŁSZ. To samo dotyczy innych poziomów IF IF.

Pozwól nam zaktualizować kod za pomocą JEŚLI INACZEJ oświadczenie:

Zrób $$
OGŁOSIĆ
var_a smallint: = 65;
var_b SmallItt: = 99;
ZACZYNAĆ
Jeśli var_a> var_b, to podnieś zawiadomienie „var_a> var_b”;
W przeciwnym razie, jeśli var_a < var_b THEN RAISE NOTICE 'var_a < var_b';
Else, jeśli var_a = var_b, a następnie podnieś zawiadomienie „var_a = var_b”;
Zakończyć, jeśli;
Zakończyć, jeśli;
Zakończyć, jeśli;
Koniec $$;

Tutaj,

  • Program zawsze wejdzie do pierwszego JEŚLI oświadczenie.
  • Drugi i trzeci JEŚLI Oświadczenia zostaną wykonane tylko wtedy, gdy poprzednie JEŚLI stwierdzenia są FAŁSZ.

Przykład 3 - Używanie, jeśli Elsif

Możemy dalej zoptymalizować program za pomocą Jeśli Elsif oświadczenie. Sprawdź kod:

Zrób $$
OGŁOSIĆ
var_a smallint: = 65;
var_b SmallItt: = 99;
ZACZYNAĆ
Jeśli var_a> var_b, to podnieś zawiadomienie „var_a> var_b”;
Elsif var_a < var_b THEN RAISE NOTICE 'var_a < var_b';
Elsif var_a = var_b, a następnie podnieś zawiadomienie „var_a = var_b”;
Zakończyć, jeśli;
Koniec $$;

Tutaj napisaliśmy tylko jedno oświadczenie IF, zmniejszając w ten sposób potrzebę dodatkowego Zakończyć, jeśli sprawozdania.

Wniosek

W tym przewodniku wykazaliśmy różne formy JEŚLI INACZEJ Oświadczenia znalezione w PostgreSQL. Zaprezentowaliśmy również ich użycie za pomocą prostego przykładu.

PostgreSQL jest również wyposażony w mnóstwo wstępnie zdefiniowanych funkcji dla bardziej wydajnych zapytań. W rzeczywistości możemy również konstruować bardziej złożone zapytania za pomocą podsumowania.

Zainteresowany dowiedzeniem się więcej o PostgreSQL? Sprawdź podkategorię PostgreSQL, obfitą z przewodnikami o różnych aspektach PostgreSQL.