您的位置:首页 > 数据库 > Oracle

Oracle条件分支语句和循环语句举例

2018-01-23 09:35 344 查看
--流程控制
--条件分支
BEGIN
IF 2 = 2 THEN
dbms_output.put_line('aaa');
END IF;
END;

BEGIN
IF 1 = 2 THEN
dbms_output.put_line('aaa');
ELSE
dbms_output.put_line('bbb');
END IF;
END;

DECLARE
num NUMBER := 8;
BEGIN
IF num = 1 THEN
dbms_output.put_line('111');
ELSIF num = 2 THEN
dbms_output.put_line('222');
ELSIF num = 3 THEN
dbms_output.put_line('333');
ELSIF num = 4 THEN
dbms_output.put_line('444');
ELSE
dbms_output.put_line('555');
END IF;
END;

DECLARE
num NUMBER := 2;
BEGIN
CASE num
WHEN 1 THEN
dbms_output.put_line('111');
WHEN 2 THEN
dbms_output.put_line('222');
WHEN 3 THEN
dbms_output.put_line('333');
WHEN 4 THEN
dbms_output.put_line('444');
ELSE
dbms_output.put_line('555');
END case;
END;

DECLARE
num NUMBER := 2;
BEGIN
CASE
WHEN num < 1 THEN
dbms_output.put_line('111');
WHEN num >= 1 THEN
dbms_output.put_line('222');
END CASE;
END;

--循环语句
--格式
--loop
--执行语句
--跳出条件
--执行语句
--end loop

DECLARE
num NUMBER := 1;
BEGIN
LOOP
dbms_output.put_line(num);
num := num + 1;
EXIT WHEN num > 10;
END LOOP;
END;

DECLARE
num NUMBER := 1;
BEGIN
LOOP
IF (MOD(num, 7) = 0) THEN
dbms_output.put_line(num);
END IF;
num := num + 1;
EXIT WHEN num > 100;
END LOOP;
END;

DECLARE
num NUMBER := 1;
mul NUMBER;
BEGIN
LOOP
mul := num * 7;
EXIT WHEN mul > 100;
dbms_output.put_line(mul);
num := num + 1;
END LOOP;
END;
--whlie循环
DECLARE
num NUMBER := 1;
mul NUMBER;
BEGIN
mul := num * 7;
WHILE mul <= 100 LOOP
dbms_output.put_line(mul);
num := num + 1;
mul := num * 7;
END LOOP;
END;

--for循环
--自带变量
BEGIN
FOR num IN 1 .. 20 LOOP
dbms_output.put_line(num);
END LOOP;
END;

BEGIN
FOR num IN 1 .. 20 LOOP
dbms_output.put_line(21-num);
END LOOP;
END;

--空语句
9fd6

begin
null;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息