Oracle PL/SQL Case Instrukcja

Oracle PL/SQL Case Instrukcja

Przepływ kontrolny jest jednym z głównych elementów budulcowych w programowaniu. Określa kolejność, w której różne bloki kodów są wykonywane w programie.

Podobnie jak większość języków programowania, język Oracle PL/SQL zapewnia różne instrukcje przepływu sterujące.

W tym poście dowiemy się, jak pracować z instrukcją sprawy w PL/SQL, aby wprowadzić przepływ kontrolny w naszych zapytaniach Oracle.

Wprowadzenie do oświadczenia sprawy

Instrukcja przypadku umożliwia zdefiniowanie sekwencji instrukcji. Instrukcja sprawy wybiera następnie jedną sekwencję do wykonania na podstawie określonego warunku.

Pomyśl o tym jako o bardziej wydajnym sposobie deklarowania zestawu bloków IF-Then, jednocześnie zachowując czytelność.

Możemy wyrazić składnię instrukcji sprawy w Oracle, jak pokazano następująco:

SPRAWA
Gdy stan 1, wynik 1
Kiedy stan2, to wynik 2

Jeszcze wynik
KONIEC

Oświadczenie o przypadku ocenia każdy warunek w przypadku, gdy klauzule w tej składni.

Jeśli oświadczenie znajdzie dopasowanie, zwraca wynik dopasowywania. Jednak w niektórych przypadkach oświadczenie sprawy może nie znaleźć warunków pasujących. W takim scenariuszu instrukcja wykonuje wynik, który jest zdefiniowany w bloku innej.

NOTATKA: Blok else jest opcjonalny. Jeśli jest niedostępny, silnik bazy danych używa następującej składni:

W PRZECIWNYM RAZIE:
RACET Case_not_Found;

Umożliwia to silnik bazy danych podniesienie wyjątku i wstrzymanie wykonania, gdy nie ma warunków dopasowania.

Przykład 1: Instrukcja przypadku Podstawowy przykład

Ten przykład pokazuje podstawowy przykład wykorzystania operatora spraw w Oracle:

ogłosić
numer wiekowy;
Wejście char (10);
zaczynać
Wiek: = 24;
Wiek sprawy
kiedy 17 lat
Entry: = „denined”;
Kiedy 24 wtedy
wpis: = '9.99 ';
Kiedy 45 wtedy
wpis: = '15.99 ';
w przeciwnym razie
wpis: = „nie dozwolony”;
przypadek końcowy;
Dbms_output.Put_line (wpis);
koniec;

Dostarczona ilustracja powinna przetestować dowolny warunek dopasowywania i zwrócić odpowiedni status. Na przykład, ponieważ warunek dopasowania wynosi 24, klauzula powraca w następujący sposób:

9.99

Przykład 2: Instrukcja przypadku z tabelą bazy danych

W tym przykładzie używa instrukcji CASE z tabelą bazy danych.

Wybierz nazwę pierwszej nazwy, pensja, wynagrodzenie,
sprawa
Kiedy wynagrodzenie 2500, następnie „wysoko”
w przeciwnym razie „nieznany”
Zakończ jako pens_status
od pracowników;

Dostarczone zapytanie wykorzystuje oświadczenie sprawy do przetestowania zakresu wynagrodzenia w tabeli pracowników.

Powstała wartość jest jak pokazana następująco:

Wniosek

W tym poście nauczyłeś się, jak korzystać z instrukcji Oracle Case, aby przetestować różne warunki i wykonać akcję, jeśli jeden jest prawdziwy.