Oracle PL/SQL sakserklæring

Oracle Pl Sql Sakserklaering



Kontrollflyt er en av de primære byggesteinene i programmering. Den definerer rekkefølgen som de ulike kodeblokkene utføres i i et program.

Som de fleste programmeringsspråk, gir Oracle PL/SQL-språket forskjellige kontrollflyt-setninger som IF-THEN, CASE, FOR, WHILE, etc.







I dette innlegget vil vi lære hvordan du arbeider med CASE-setningen i PL/SQL for å introdusere kontrollflyten i våre Oracle-spørringer.



Introduksjon til CASE-erklæringen

CASE-setningen lar deg definere en sekvens av utsagn. Kasussetningen velger deretter én sekvens som skal utføres basert på den angitte betingelsen.



Tenk på det som en mer effektiv måte å deklarere et sett med hvis-da-blokker samtidig som lesbarheten bevares.





Vi kan uttrykke syntaksen til CASE-setningen i Oracle som vist i følgende:

SAK
NÅR tilstand1 SÅ resultat1
NÅR tilstand2 SÅ resultat2
...
ANDRE resultat
SLUTT

CASE-setningen evaluerer hver betingelse i WHEN-setningene i denne syntaksen.



Hvis setningen finner et samsvarende utsagn, returnerer det samsvarende resultatet. I noen tilfeller kan det imidlertid hende at sakserklæringen ikke finner en samsvarende betingelse. I et slikt scenario utfører setningen resultatet som er definert i ELSE-blokken.

MERK : ELSE-blokken er valgfri. Hvis den ikke er tilgjengelig, bruker databasemotoren følgende syntaks:

ELLERS:
RAISE CASE_NOT_FOUND;

Dette lar databasemotoren opprette et unntak og pause utførelsen når det ikke er noen samsvarende betingelse.

Eksempel 1: CASE Statement Grunnleggende eksempel

Dette eksemplet viser et grunnleggende eksempel på bruk av case-operatøren i Oracle:

erklære
aldersnummer;
oppføring char(10);
begynne
alder:= 24;
saks alder
når 17 da
oppføring := 'avvist';
når 24 da
oppføring := '9.99';
når 45 da
oppføring :='15.99';
ellers
oppføring := 'ikke tillatt';
slutt tilfelle;
DBMS_OUTPUT.PUT_LINE(oppføring);
slutt;

Den medfølgende illustrasjonen bør teste for alle samsvarende tilstander og returnere den tilsvarende statusen. For eksempel, siden samsvarsbetingelsen er 24, returnerer leddet som følger:

9,99

Eksempel 2: CASE-uttalelse med en databasetabell

Dette eksemplet bruker case-setningen med en databasetabell.

velg fornavn, etternavn, lønn,
sak
når lønn  2500 så 'Høy'
annet 'Ukjent'
ende som lønnsstatus
fra ANSATTE;

Den oppgitte spørringen bruker saksuttalelsen til å teste lønnsområdet fra de ansattes tabell.

Den resulterende verdien er som vist i følgende:

Konklusjon

I dette innlegget lærte du hvordan du bruker Oracle case-setningen til å teste de ulike forholdene og utføre en handling hvis en er sann.