PL/SQL 學習筆記 3 控制结构

就是条件和循环了。

 

(一) 条件

1.  if-then-else

 

if boolean_expression1 then
   sequence_of_statements1;
[elsif boolean_expression2 then
   sequence_of_statements2;]
[else
   sequence_of_statements3;]
end if;

 

(二) 循环

四种循环,简单循环、while循环、数字式for循环和游标式for循环。

1. 简单循环

loop
    sequence_of_statement;
    [if conditionthen
        exit;
    end if;]
   [exit when condtion;]
end loop;

 2. while循环

while condition loop
    sequence_of_statements;
end loop;

    循环里面仍然可以用exit退出。

 

 

3. 数字式for循环

 

for loop_counter in[reverse] low_bound..high_bound loop
    sequence_of_statements;
end loop;

 如果有reverse那么循环将从最大值到最小值。loop_counter是隐式声明变量,为binary_integer。

 

(三)goto和标识

1. goto

DECLARE
...
BEGIN
    ...
    IF CONDITION THEN;
        goto label;
    END IF;
    ...
    <<label>>
    ...
END;

 对于块、循环或者if语句而言,想要从外层跳转到内层是非法的。goto也不能从if语句的一个状态跳转到另一个状态。

 

2. 标识

exit 使用标识可控制跳出哪个循环。

...
<<outer1>>
for var in 1..20 loop
    ...
    <<inner1>>
    while condition loop
        if var > 8 then
            exit outer1;
        end if;
    end loop;
    ...
end loop;
...
 

 

你可能感兴趣的:(sql)