pl/sqlf分支结构

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 过程已成功完成。

猜你喜欢

转载自blog.csdn.net/gameloftnet/article/details/83832967
今日推荐