if语句
分支语法:
if 判断条件 then
满足执行
end if ;
if 判断条件 then
满足执行
else
不满足执行
end if ;
if 判断条件 then
满足执行
elseif 判断条件2
满足执行
else
不满足执行
end if ;
SQL> DECLARE
2 v_result NUMBER;
3 BEGIN
4 SELECT COUNT(deptno) INTO v_result FROM dept;
5 IF v_result>10 THEN
6 DBMS_OUTPUT.put_line('DEPT 记录大于 10 条');
7 ELSE
8 DBMS_OUTPUT.put_line('DEPT 记录小于 10 条');
9 end if;
10 end;
11 /
DEPT 记录小于 10 条
PL/SQL 过程已成功完成。
SQL> DECLARE
2 v_result NUMBER;
3 BEGIN
4 SELECT COUNT(empno) INTO v_result FROM emp;
5 IF v_result > 10 THEN
6 DBMS_OUTPUT.put_line('emp 表记录大于 10 条');
7 ELSIF v_result < 10 THEN
8 DBMS_OUTPUT.put_line('emp 表记录小于 10 条');
9 ELSE
10 DBMS_OUTPUT.put_line('emp 表记录 等于 10 条');
11 END IF ;
12 END;
13 /
emp 表记录大于 10 条
PL/SQL 过程已成功完成。
循环控制
SQL> DECLARE
2 v_result NUMBER :=1;
3 BEGIN
4 FOR v_result IN 1 .. 10 LOOP
5 IF v_result = 3 THEN
6 EXIT;
7 END IF;
8 DBMS_OUTPUT.put_line('v_result = '|| v_result);
9 END LOOP;
10 END;
11 /
v_result = 1
v_result = 2
PL/SQL 过程已成功完成。
goto语句
SQL> DECLARE
2 v_result NUMBER :=1;
3 BEGIN
4 FOR v_result IN 1 .. 10 LOOP
5 IF v_result = 3 THEN
6 GOTO endPoint;
7
8 END IF;
9 DBMS_OUTPUT.put_line('v_result = '|| v_result);
10 END LOOP;
11 <<endPoint>>
12 DBMS_OUTPUT.put_line('循环提前结束 ');
13 END;
14 /
v_result = 1
v_result = 2
循环提前结束
PL/SQL 过程已成功完成。