Oracle Case Statement

Oracle Case Statement
Saksuttalelsen er et kraftig betinget uttrykk i Oracle som lar brukeren utføre forskjellig betinget logikk. Sakserklæringen kan forbedre forestillingen og spare tid ved å definere flere forhold i ett spørsmål i stedet for flere betingede spørsmål. Ved hjelp av en saksuttalelse kan brukeren definere flere forhold og tilhørende uttalelser for å utføre, når tilstanden er sann. Hvis ingen av de uttalte forholdene er sanne, blir standardblokken påkalt.

Denne guiden vil forklare:

  • Hvordan bruke en enkel saksuttalelse i Oracle?
  • Hvordan bruke Oracle Case Statement i en WHERE -klausul?
  • Hvordan bruke Oracle Case Statement i en samlet funksjon?

Hvordan bruke en enkel saksuttalelse i Oracle?

Å bruke en enkel SAK uttalelse i Oracle, en “NÅR”-Bestemmelsen kan brukes til en tilstand med en“DERETTER”Klausul for en tilsvarende utgang. Standardutgangen kan legges til ved hjelp av “ELLERS" klausul. Når det gjelder flere forhold, flere “NÅR”Og“DERETTER”Klausuler kan brukes. La oss flytte til syntaksen i saksuttalelsen:

SAK
Når [fordømmelse] så [resultat]
Når [tilstand] så [resultat]
..
Når [tilstand] så [resultat]
Annet [Standardresultasjon]
SLUTT

Eksempel 1: Enkel saksuttalelse

La oss se et eksempel på en enkel saksuttalelse ved å sjekke "status”Kolonne i“bestillinger”Tabell:

Velg ordre_id, customer_id, order_date,
SAK
Når status = 'sendt' da ' -> bestill sendt'
Når status = 'i påvente av' da ' -> bestilling i påvente'
Ellers ' -> Bestill kansellert'
Slutt som status
Fra ordrer;

Produksjon

Utgangen viser at resultatet er skrevet ut i henhold til den gitte saksuttalelsen.

Eksempel 2: Saksuttalelse ved bruk

En saksuttalelse kan også skrives i korthånds syntaks som utelater uttrykket etter sakens nøkkelord og direkte bruker kolonnenavnet, e.g., “status”:

Velg ordre_id, customer_id, order_date,
Saksstatus
Når 'sendt' da ' -> bestill sendt'
Når 'i påvente' da ' -> bestill i påvente av'
Ellers ' -> Bestill kansellert'
Slutt som status
Fra ordrer;

Produksjon

Utgangen viste samme resultat som eksemplet ovenfor.

Hvordan bruke en Oracle -saksuttalelse i en WHERE -klausul?

HVOR”-Bestemmelsen brukes til å filtrere dataene. Oracle Case -uttalelsen kan brukes i “HVOR”Klausul for det betingede filteret til dataene. Eksemplet er gitt nedenfor:

Velg Product_ID, Warehouse_id, mengde
Fra varelager
HVOR
SAK
Når mengde> 200 så 1
Annet 0
Slutt = 1;

I koden ovenfor, "Varelager”Tabellens data blir filtrert i henhold til den spesifiserte tilstanden som mengde verdi større enn 200.

Produksjon

Utgangen viser at radene med en mengde større enn 200 er skrevet ut.

Hvordan bruke en Oracle -saksuttalelse i en samlet funksjon?

De samlede funksjoner brukes til å beregne settet med verdier og hente en enkelt verdi. Oracle Case -uttalelsen kan brukes i en samlet funksjon for å utføre den betingede beregningen på verdisett. Eksemplet er gitt nedenfor:

Velg ordre_id, item_id, produkt_id, enhet_price,
Sum (sak
Når enhet_price> = 470 så mengde
Annet 0
Slutt) som mengde
Fra ordre_items
Gruppe av ordre_id, item_id, produkt_id, enhet_price;

I eksemplet ovenfor har tilstanden blitt brukt på "ENHETSPRIS”Kolonne av“Ordre_items”Tabell.

Produksjon

Utgangen skildrer at hvis ENHETSPRIS verdien har vært større enn 470 Så verdien av mengde har blitt vist ellers viste det null (0).

Konklusjon

Oracle Case -uttalelsen brukes til å definere flere forhold sammen med deres spesielle uttalelse for å utføre. Når en tilstand er sann, vil uttalelsene knyttet til denne tilstanden bli utført, ellers blir standardblokken utført. Det kan også brukes i "HVOR”Klausul for å betinget å filtrere dataene så vel som i de samlede funksjonene for å utføre betingede beregninger på settet med verdier. Guiden har gitt en detaljert forklaring med eksempler på hvordan du bruker Oracle Case -uttalelsene.