Prohlášení o případu Oracle PL/SQL

Prohlaseni O Pripadu Oracle Pl Sql



Řídicí tok je jedním z primárních stavebních kamenů v programování. Definuje pořadí, ve kterém jsou různé bloky kódu prováděny v programu.

Stejně jako většina programovacích jazyků poskytuje jazyk Oracle PL/SQL různé příkazy toku řízení, jako jsou IF-THEN, CASE, FOR, WHILE atd.







V tomto příspěvku se naučíme, jak pracovat s příkazem CASE v PL/SQL, abychom zavedli řídicí tok v našich dotazech Oracle.



Úvod do prohlášení CASE

Příkaz CASE umožňuje definovat posloupnost příkazů. Příkaz case pak vybere jednu sekvenci k provedení na základě zadané podmínky.



Berte to jako efektivnější způsob deklarování sady bloků if-then při zachování čitelnosti.





Syntaxi příkazu CASE v Oracle můžeme vyjádřit následovně:

PŘÍPAD
KDYŽ podmínka1 TAK výsledek1
KDYŽ podmínka2 POTOM výsledek2
...
JINÝ výsledek
KONEC

Příkaz CASE vyhodnocuje každou podmínku v klauzulích WHEN v této syntaxi.



Pokud příkaz najde odpovídající příkaz, vrátí odpovídající výsledek. V některých případech však příkaz case nemusí najít odpovídající podmínku. V takovém scénáři příkaz provede výsledek, který je definován v bloku ELSE.

POZNÁMKA : Blok ELSE je volitelný. Pokud není k dispozici, databázový stroj používá následující syntaxi:

JINÝ:
RAISE CASE_NOT_FOUND;

To umožňuje databázovému stroji vyvolat výjimku a pozastavit provádění, pokud neexistuje žádná odpovídající podmínka.

Příklad 1: Příkaz CASE Základní příklad

Tento příklad ukazuje základní příklad použití operátoru případu v Oracle:

prohlásit
věkové číslo;
vstupní znak (10);
začít
věk := 24;
věk případu
když pak 17
záznam := 'denined';
když pak 24
záznam := '9,99';
když pak 45
záznam :='15,99';
jiný
záznam := 'není povoleno';
koncové pouzdro;
DBMS_OUTPUT.PUT_LINE(záznam);
konec;

Poskytnutý obrázek by měl otestovat jakoukoli podmínku shody a vrátit odpovídající stav. Například, protože podmínka shody je 24, klauzule se vrátí takto:

9,99

Příklad 2: Příkaz CASE s databázovou tabulkou

Tento příklad používá příkaz case s databázovou tabulkou.

vyberte jméno, příjmení, plat,
případ
při platu 2500 pak „Vysoký“
jinak 'Neznámý'
končí jako status_platu
od ZAMĚSTNANCŮ;

Zadaný dotaz používá výpis případu k testování rozsahu platů z tabulky zaměstnanců.

Výsledná hodnota je uvedena v následujícím textu:

Závěr

V tomto příspěvku jste se naučili, jak používat příkaz Oracle case k testování různých podmínek a provedení akce, pokud je pravdivá.