Oracle PL/SQL Case Statement

Oracle Pl Sql Case Statement



Ang control flow ay isa sa mga pangunahing building blocks sa programming. Tinutukoy nito ang pagkakasunud-sunod kung saan ang iba't ibang mga bloke ng code ay isinasagawa sa isang programa.

Tulad ng karamihan sa mga programming language, ang Oracle PL/SQL na wika ay nagbibigay ng iba't ibang control flow statement tulad ng IF-THEN, CASE, FOR, WHILE, atbp.







Sa post na ito, matututunan natin kung paano magtrabaho kasama ang CASE statement sa PL/SQL para ipakilala ang control flow sa aming mga query sa Oracle.



Panimula sa CASE Statement

Ang CASE statement ay nagpapahintulot sa iyo na tukuyin ang isang pagkakasunod-sunod ng mga pahayag. Ang pahayag ng kaso ay pumipili ng isang sequence na isasagawa batay sa tinukoy na kundisyon.



Isipin ito bilang isang mas mahusay na paraan ng pagdedeklara ng isang set ng kung-pagkatapos na mga bloke habang pinapanatili ang pagiging madaling mabasa.





Maaari naming ipahayag ang syntax ng CASE statement sa Oracle tulad ng ipinapakita sa sumusunod:

KASO
KAPAG kundisyon1 AY nagresulta1
KAPAG condition2 THEN result2
...
IBANG resulta
WAKAS

Sinusuri ng pahayag ng CASE ang bawat kundisyon sa mga sugnay na WHEN sa syntax na ito.



Kung ang pahayag ay nakahanap ng katugmang pahayag, ibinabalik nito ang katugmang resulta. Gayunpaman, sa ilang mga kaso, ang pahayag ng kaso ay maaaring walang mahanap na katugmang kundisyon. Sa ganitong sitwasyon, ang pahayag ay nagpapatupad ng resulta na tinukoy sa ELSE block.

TANDAAN : Ang ELSE block ay opsyonal. Kung hindi magagamit, ang database engine ay gumagamit ng sumusunod na syntax:

IBA:
Itaas ang CASE_NOT_FOUND;

Nagbibigay-daan ito sa database engine na magtaas ng exception at i-pause ang execution kapag walang tugmang kondisyon.

Halimbawa 1: CASE Statement Basic Example

Ang halimbawang ito ay nagpapakita ng pangunahing halimbawa ng paggamit ng case operator sa Oracle:

magpahayag
numero ng edad;
entry char(10);
magsimula
edad := 24;
edad ng kaso
kapag 17 noon
entry := 'denined';
kapag 24 noon
entry := '9.99';
kapag 45 noon
entry :='15.99';
iba pa
entry := 'hindi pinapayagan';
pagtatapos ng kaso;
DBMS_OUTPUT.PUT_LINE(entry);
wakas;

Ang ibinigay na ilustrasyon ay dapat subukan para sa anumang katugmang kondisyon at ibalik ang kaukulang katayuan. Halimbawa, dahil ang tugmang kondisyon ay 24, ang sugnay ay nagbabalik tulad ng sumusunod:

9.99

Halimbawa 2: CASE Statement na may Database Table

Ang halimbawang ito ay gumagamit ng case statement na may database table.

piliin ang unang_pangalan, apelyido, suweldo,
kaso
kapag ang suweldo  2500 tapos 'Mataas'
ibang 'Hindi alam'
tapusin bilang salary_status
mula sa MGA EMPLEYADO;

Ang ibinigay na query ay gumagamit ng case statement upang subukan ang hanay ng suweldo mula sa talahanayan ng mga empleyado.

Ang resultang halaga ay tulad ng ipinapakita sa sumusunod:

Konklusyon

Sa post na ito, natutunan mo kung paano gamitin ang Oracle case statement para subukan ang iba't ibang kundisyon at magsagawa ng aksyon kung totoo ang isa.