SQL的LOOP循环

1LOOP的简单循环

语法:

LOOP

要执行的语句;

EXIT WHEN<条件语句>               //条件满足,退出循环语句

END LOOP;

例子:

DECLARE 

M NUMBER :=1;

BEGIN
LOOP

M :=M+1;

DBMS_OUTPUT.PUT_LINE('M的当前值为:'M');

EXIT WHEN M =10;

END LOOP;

END;

2WHILE循环

语法:

WHILE<进入循环的条件>LOOP

要执行的语句;

END LOOP;

例子:

DECLARE

MUNMBER :=1;

BEGIN

WHILE N<=10 LOOP

DBMS_OUT.PUT——LINE('x的当前值为:x);

N:N+1;

END LOOP;

END;

3FOR循环

语法:

FOR循环计数器 IN 列表下限。。。列表上限 LOOP

要执行的语句;

NED LOOP;

每次循环,循环变量自动按+1递增;列表前使用关键字REVERSE,循环变量自动按-1递减。列表的数字必须是从小到大的顺序,而且必须是整数,不能是变量或表达式,可以使用EXIT强制退出循环。

例子:

BEGIN

FOR i in 1..10 LOOP

DBMS_OUTPUT.PUT_LINE('i的当前值为:'||i);

END LOOP;

END;

------------------------------------------------------------------------------------------------------------

LEAVE(leave)表示循环,好比编程里面的break一样;

ITERATE(iteate)则继续循环,好比编程里面的continue一样;

mysql的字符合并不能用'+'号,必须用CONCAT函数

BEGIN

set tsqltxt = concat(tsqltxt,'from',ttname);

L1:loop

if tmStWork is null then

leave L1;

set tmStWork = date_format(tmStWork,'%Y-%m-%d %H');

SET iname = CONCAT('F');

leave L1;

end loop L1;

END

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值