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