Rumah > pangkalan data > tutorial mysql > Kawalan proses MySQL semasa, ulang, gelung gelung

Kawalan proses MySQL semasa, ulang, gelung gelung

WBOY
Lepaskan: 2022-08-09 20:22:12
ke hadapan
1990 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql Ia terutamanya memperkenalkan kawalan proses prosedur disimpan MySQL semasa, ulangan dan gelung gelung akan dijalankan beberapa kali, atau Ia berjalan sehingga syarat tertentu dipenuhi dan menamatkan gelung Mari kita lihat ia akan membantu semua orang.

Kawalan proses MySQL semasa, ulang, gelung gelung

Pembelajaran yang disyorkan: tutorial video mysql

Kata Pengantar

  • Gelung ialah bahagian dalam program yang hanya Kod yang muncul sekali tetapi boleh dijalankan beberapa kali berturut-turut.
  • Kod dalam gelung akan dijalankan beberapa kali tertentu, atau gelung akan tamat apabila syarat tertentu dipenuhi.

Klasifikasi gelung:

  • sementara
  • ulang
  • gelung

Kawalan gelung:

tinggalkan Sama seperti break, lompat keluar, tamatkan gelung semasa

iterate Sama seperti continue, teruskan, tamatkan gelung ini dan teruskan ke seterusnya

gelung while

【标签:】while 循环条件 do
循环体;
end while【 标签】;
Salin selepas log masuk
-- 创建测试表
create table user (
uid int primary_key,
username varchar ( 50 ),
password varchar ( 50 )
);
Salin selepas log masuk
-- -------存储过程-while
delimiter $$
create procedure proc16_while1(in insertcount int)
begin
declare i int default 1;
label:while i<=insertcount do
insert into user(uid,username,`password`) values(i,concat(&#39;user-&#39;,i),&#39;123456&#39;);
set i=i+1;
end while label;
end $$
delimiter ;
call proc16_while(10);
Salin selepas log masuk

Sintaks prosedur tersimpan dibetulkan: pembatas $$ cipta nama gelung peocedure (parameter) mulakan kod end $ $ delimiter;

Perhatikan bahawa semasa menulis badan gelung, anda mesti mempunyai pembolehubah pertama untuk mentakrifkan gelung, menggunakan nilai lalai isytihar i int

Kemudian dlabel: Sementara keadaan penghakiman boleh Badan gelung tamatkan semasa label; tamat && mesti mempunyai

-- -------存储过程-while + leave
truncate table user;
delimiter $$
create procedure proc16_while2(in insertcount int)
begin
declare i int default 1;
label:while i<=insertcount do
insert into user(uid,username,`password`) values(i,concat(&#39;user-&#39;,i),&#39;123456&#39;);
if i=5 then leave label;
end if;
set i=i+1;
end while label;
end $$
delimiter ;
call proc16_while2(10);
Salin selepas log masuk

Jika anda perlu melompat keluar dari gelung secara dalaman, gunakan jika penghakiman, tetapi Akhir sekali, tamatkan jika diperlukan pada penghujung

Cuti di sini adalah untuk melompat keluar dari gelung, relatif kepada pecah

-- -------存储过程-while+iterate
truncate table user;
delimiter $$
create procedure proc16_while3(in insertcount int)
begin
declare i int default 1;
label:while i<=insertcount do
set i=i+1;
if i=5 then iterate label;
end if;
insert into user(uid,username,`password`) values(i,concat(&#39;user-&#39;,i),&#39;123456&#39;);
end while label;
end $$
delimiter ;
call proc16_while3(10);
Salin selepas log masuk

lelaran di sini adalah relatif untuk diteruskan . Kod berikut tidak akan dilaksanakan apabila ditemui

Gelung ulangan

[标签:]repeat
循环体;
until 条件表达式
end repeat [标签];
Salin selepas log masuk
-- -------存储过程-循环控制-repeat
use mysql7_procedure;
truncate table user;
delimiter $$
create procedure proc18_repeat(in insertCount int)
begin
declare i int default 1;
label:repeat
insert into user(uid, username, password) values(i,concat(&#39;user-&#39;,i),&#39;123456&#39;);
set i = i + 1;
until i > insertCount
end repeat label;
select &#39;循环结束&#39;;
end $$
delimiter ;
call proc18_repeat(100);
Salin selepas log masuk

ialah gelung yang akan dilaksanakan sekali tidak kira apa, dan kemudian ia akan dinilai secara dalaman . Jika ia berpuas hati, ia akan melompat keluar terus dari

gelung gelung

[标签:] loop
循环体;
if 条件表达式 then
leave [标签];
end if;
end loop;
Salin selepas log masuk
-- -------存储过程-循环控制-loop
truncate table user;

delimiter $$
create procedure proc19_loop(in insertCount int)
begin
declare i int default 1;
label:loop
insert into user(uid, username, password) values(i,concat(&#39;user-&#39;,i),&#39;123456&#39;);
set i = i + 1;
if i > 5
then
leave label;
end if;
end loop label;
select &#39;循环结束&#39;;
end $$
delimiter ;
call proc19_loop(10);
Salin selepas log masuk

Perbezaan antara ini dan ulangan ialah selepas pelaksanaan, gunakan cuti untuk melompat keluar gelung Tidak kira yang mana satu digunakan, kita boleh mencapai kesan yang kita perlukan, tetapi dalam senario aplikasi perniagaan, sementara masih banyak.

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Kawalan proses MySQL semasa, ulang, gelung gelung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:jb51.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan