Penyataan gelung dalam prosedur tersimpan Oracle: 1. Gelung LOOP, sintaksnya ialah "badan gelung gelung; KELUAR KETIKA ungkapan bersyarat gelung; GELANG TAMAT;"; 2. Gelung WHILE, sintaks ialah "semasa ungkapan bersyarat Penyataan gelung gelung formula;gelung akhir;"; 3. Untuk gelung, sintaks ialah "untuk pembolehubah IN (terbalik) nilai had bawah pembolehubah... nilai had atas pembilang badan gelung LOOP; LOOP TAMAT;".
Persekitaran pengendalian tutorial ini: sistem Windows 10, Oracle versi 12c, komputer Dell G3.
Apabila program perlu melakukan operasi berulang kali, ia mesti menggunakan struktur gelung. Kenyataan gelung dalam PL/SQL terutamanya termasuk tiga jenis: pernyataan LOOP, pernyataan WHERE dan pernyataan FOR.
Pernyataan LOOP akan mula-mula melaksanakan badan gelung sekali, dan kemudian menentukan sama ada ungkapan bersyarat selepas kata kunci EXIT WHEN adalah benar atau palsu adalah benar Keluar dari badan gelung, jika tidak program akan melaksanakan badan gelung sekali lagi.
Sintaks asas:
loop A; EXIT WHEN B; END LOOP;
J: Mewakili penyataan sql dalam badan gelung, yang boleh menjadi satu ayat atau berbilang ayat Ini adalah bahagian inti bagi badan gelung dilaksanakan sekurang-kurangnya sekali.
B: Ungkapan bersyarat hujung gelung, apabila ia benar, keluar dari gelung, jika tidak laksanakan badan gelung sekali lagi.
Contoh kod:
-- Created on 2020/12/16 by GUO declare i int:= 0; begin loop i:=i+1; dbms_output.put_line(i); EXIT WHEN i > 3; END LOOP; end;
Hasil berjalan:
Contoh praktikal:
Apabila menggunakan kursor Gelung , untuk mendapatkan nilai dalam kursor, anda mesti menetapkannya semula, jika tidak ralat akan dilaporkan.
-- Created on 2020/12/17 by GUO declare cursor user is select * from user_table; user1 user_table%rowtype; begin open user; loop fetch user into user1; exit when user%notfound; dbms_output.put_line('用户名称:' || user1.USER_NAME); dbms_output.put_line('用户年龄:' || user1.USER_AGE); end loop; close user; --关闭游标 end;
Sebelum pelaksanaan, tentukan dahulu sama ada nilai ungkapan bersyarat adalah benar, laksanakan badan gelung WHILE loop Teruskan melaksanakan kod mengikut gelung.
Sintaks asas:
while a loop b; end loop;
J: Mewakili ungkapan bersyarat Apabila nilai adalah benar, atur cara melaksanakan badan gelung, jika tidak, ia akan keluar.
B: Pernyataan SQL dalam badan gelung.
Contoh kod:
-- Created on 2020/12/17 by GUO declare i int := 0; begin while i < 3 loop i := i + 1; dbms_output.put_line(i); end loop; end;
Hasil jalankan:
Contoh sebenar:
-- Created on 2020/12/17 by GUO declare cursor user is select * from user_table; user1 user_table%rowtype; begin open user; fetch user into user1; while(user%found)loop dbms_output.put_line('用户名称:' || user1.USER_NAME); fetch user into user1; end loop; end;
Pernyataan FOR ialah pernyataan kawalan gelung yang boleh menetapkan bilangan gelung terlebih dahulu Ia mempunyai pembilang gelung, biasanya pembolehubah integer, yang melaluinya bilangan gelung dikawal.
Sintaks asas:
for A IN (reverse) B...C LOOP D; END LOOP;
J: Mewakili pembolehubah, biasanya jenis sijil, digunakan sebagai pembilang Nilai lalai meningkat Apabila kata kunci terbalik digunakan dalam gelung. ia Ia akan berkurangan secara kitaran.
B: Membilang nilai had bawah Apabila nilai pembilang kurang daripada nilai had bawah, gelung ditamatkan.
C: Membilang nilai had atas Apabila nilai pembilang lebih besar daripada nilai had atas, gelung ditamatkan.
D: Badan gelung.
Contoh kod:
-- Created on 2020/12/17 by GUO declare i int := 0; begin for i IN reverse 1..5 LOOP dbms_output.put_line(i); END LOOP; end;
Hasil jalankan:
Contoh praktikal:
Gunakan dengan kursor
-- Created on 2020/12/17 by GUO declare cursor user is select * from user_table; begin for user1 in user loop dbms_output.put_line('用户名称:'||user1.USER_NAME); dbms_output.put_line('用户年龄:'||user1.USER_AGE); end loop; end;
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Apakah pernyataan gelung dalam prosedur tersimpan Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!