Seperti semua bahasa pengaturcaraan utama, PL/SQL menyokong gelung yang membenarkan set arahan diulang sehingga syarat tertentu dipenuhi.
Dalam tutorial ini, kami akan meneroka penggunaan pernyataan LOOP dalam PL/SQL untuk melaksanakan blok kod berulang kali.
Gelung Oracle
Bahasa PL/SQL menyokong pelbagai binaan gelung seperti gelung 'untuk' dan gelung 'semasa'. Kita boleh menyatakan sintaks gelung generik dalam Oracle seperti yang ditunjukkan dalam yang berikut:
<< label >> LOOP
penyata_gelung;
TAMAT LOOP loop_label;
Ini mengandungi kata kunci LOOP dan badan gelung untuk dilaksanakan dan disertakan dengan kata kunci END LOOP.
Blok LOOP menjalankan tindakan yang ditentukan dan mengembalikan kawalan ke klausa gelung atas selepas selesai. Ini biasanya disertakan dalam klausa EXIT atau EXIT WHEN untuk menamatkan gelung selepas syarat tertentu dipenuhi. Ini membantu menghalang gelung tak terhingga.
Sintaks Oracle For Loop:
Berikut menunjukkan sintaks gelung 'untuk' dalam PL/SQL:
BERMULAFOR loop_variable IN [lower_bound..upper_bound] LOOP
-- kod untuk dilaksanakan dalam gelung
GULUNG TAMAT;
TAMAT;
Pembolehubah_gelung membolehkan anda menentukan gelung yang digunakan untuk mengawal gelung dan sempadan bawah dan atas. Sempadan atas dan bawah menentukan nilai julat di mana penilaian gelung berlaku.
Oracle While Loops
Kita juga boleh menentukan gelung 'semasa' dalam PL/SQL seperti yang ditunjukkan oleh sintaks berikut:
BERMULAMANAKALA keadaan LOOP
-- tindakan gelung
GULUNG TAMAT;
TAMAT;
Dalam gelung 'semasa', tindakan gelung dilaksanakan berulang kali semasa syarat adalah benar.
Kursor Oracle Untuk Gelung
Oracle juga menyokong gelung 'kursor untuk' yang membolehkan kami melaksanakan satu set arahan untuk setiap baris dalam set hasil yang diberikan. Sintaks boleh dinyatakan seperti berikut:
BERMULAUNTUK loop_variable IN (PILIH lajur1, lajur2, ...
DARI jadual1, jadual2, ...
WHERE condition) LOOP
-- tindakan gelung
GULUNG TAMAT;
TAMAT;
Contoh Gelung dalam Oracle
Contoh berikut merangkumi asas bekerja dengan untuk, sementara, dan untuk gelung kursor dalam Oracle.
Contoh Oracle For Loop:
Contoh ini menunjukkan cara menggunakan gelung 'untuk' untuk mencetak nombor dari 1 hingga 10.
BERMULAUNTUK i DALAM 1..10 GELANG
DBMS_OUTPUT.PUT_LINE(i);
GULUNG TAMAT;
TAMAT;
Contoh Gelung Semasa:
Kita boleh melakukan tindakan yang serupa menggunakan gelung sementara seperti yang ditunjukkan dalam yang berikut:
BERMULAISYTIHAR
i NOMBOR := 1;
BERMULA
MANAKALA i <= 10 GULUNG
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
GULUNG TAMAT;
TAMAT;
TAMAT;
Ini harus melakukan tindakan yang serupa dengan gelung 'untuk'.
Contoh Kursor Untuk Gelung:
Berikut menunjukkan cara menggunakan gelung 'kursor untuk' untuk mendapatkan nama penuh pelanggan:
BERMULAUNTUK pekerja DI (PILIH nama_pertama, nama_keluarga
DARIPADA pekerja) LOOP
DBMS_OUTPUT.PUT_LINE(pekerja.nama_pertama || ' ' || pekerja.nama_akhir);
GULUNG TAMAT;
TAMAT;
Contoh Output:
Kesimpulan
Dalam siaran ini, anda menemui tiga jenis gelung utama dalam bahasa Oracle PL/SQL. Anda boleh menyemak dokumentasi untuk meneroka lebih lanjut.