Aliran kawalan adalah salah satu blok bangunan utama dalam pengaturcaraan. Ia mentakrifkan susunan di mana pelbagai blok kod dilaksanakan dalam program.
Seperti kebanyakan bahasa pengaturcaraan, bahasa Oracle PL/SQL menyediakan pelbagai pernyataan aliran kawalan seperti IF-THEN, CASE, FOR, WHILE, dll.
Dalam siaran ini, kami akan belajar cara bekerja dengan pernyataan CASE dalam PL/SQL untuk memperkenalkan aliran kawalan dalam pertanyaan Oracle kami.
Pengenalan kepada Penyata KES
Kenyataan CASE membolehkan anda mentakrifkan urutan pernyataan. Pernyataan kes kemudian memilih satu urutan untuk dilaksanakan berdasarkan syarat yang ditentukan.
Fikirkannya sebagai cara yang lebih cekap untuk mengisytiharkan satu set blok jika-maka sambil mengekalkan kebolehbacaan.
Kita boleh menyatakan sintaks pernyataan CASE dalam Oracle seperti yang ditunjukkan dalam yang berikut:
KESAPABILA keadaan1 MAKA terhasil1
BILA condition2 MAKA terhasil2
...
keputusan LAIN
TAMAT
Pernyataan CASE menilai setiap syarat dalam klausa WHEN dalam sintaks ini.
Jika pernyataan itu menemui pernyataan yang sepadan, ia mengembalikan hasil yang sepadan. Walau bagaimanapun, dalam beberapa kes, pernyataan kes mungkin tidak menemui keadaan yang sepadan. Dalam senario sedemikian, pernyataan melaksanakan hasil yang ditakrifkan dalam blok ELSE.
NOTA : Blok ELSE adalah pilihan. Jika tidak tersedia, enjin pangkalan data menggunakan sintaks berikut:
LAIN:NAIKKAN KES_TIDAK_JUMPA;
Ini membolehkan enjin pangkalan data menaikkan pengecualian dan menjeda pelaksanaan apabila tiada keadaan sepadan.
Contoh 1: Contoh Asas Penyata KES
Contoh ini menunjukkan contoh asas penggunaan operator kes dalam Oracle:
mengisytiharkannombor umur;
entri char(10);
bermula
umur := 24;
umur kes
apabila 17 kemudian
entri := 'dinafikan';
apabila 24 kemudian
entri := '9.99';
apabila 45 kemudian
entri :='15.99';
lain
entri := 'tidak dibenarkan';
kes akhir;
DBMS_OUTPUT.PUT_LINE(entry);
akhir;
Ilustrasi yang disediakan hendaklah menguji sebarang keadaan padanan dan mengembalikan status yang sepadan. Sebagai contoh, memandangkan keadaan padanan ialah 24, klausa itu kembali seperti berikut:
9.99Contoh 2: Penyata KES dengan Jadual Pangkalan Data
Contoh ini menggunakan pernyataan kes dengan jadual pangkalan data.
pilih nama_pertama, nama_keluarga, gaji,kes
apabila gaji 2500 maka 'Tinggi'
lain 'Tidak diketahui'
tamat sebagai status_gaji
daripada PEKERJA;
Pertanyaan yang disediakan menggunakan penyata kes untuk menguji julat gaji daripada jadual pekerja.
Nilai yang terhasil adalah seperti yang ditunjukkan dalam berikut:
Kesimpulan
Dalam siaran ini, anda mempelajari cara menggunakan pernyataan kes Oracle untuk menguji pelbagai syarat dan melakukan tindakan jika sesuatu itu benar.