--流程控制
--条件分支
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;
--空语句
begin
null;
end;