Oracle PL/SQL开发入门(第六弹:控制语句)

本文介绍了Oracle PL/SQL中的控制语句,包括IF-THEN-ELSIF、CASE语句、LOOP、WHILE和FOR循环的使用,强调了循环语句的退出策略和循环避免死循环的重要性。此外,还探讨了GOTO语句和NULL语句的用法,尽管GOTO语句不推荐使用,但NULL语句在异常处理和存根代码中有其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分支控制语句

IF-THEN-ELSE

如:

DECLARE
   v_count   NUMBER (10) := 0;                               --定义计数器变量
   v_empno   NUMBER (4)  := 7888;                              --定义员工编号
BEGIN
   SELECT COUNT (1)                           --首先查询指定的员工编号是否存在
     INTO v_count
     FROM emp
    WHERE empno = v_empno;

   --使用IF语句判断,如果员工编号不存在,结果为0
   IF v_count = 0
   THEN
      --则执行INSERT语句,插入新的员工记录
      INSERT INTO emp
                  (empno, ename, job, hiredate, sal, deptno
                  )
           VALUES (v_empno, '张三', '经理', TRUNC (SYSDATE), 1000, 20
                  );
   END IF;

   --向数据库提交更改
   COMMIT;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line (SQLERRM);                          --输出异常信息
END;

IF-THEN-ELSIF

如:

DECLARE
   v_character   CHAR(1) :=&tmpVar;    --定义替换变量
BEGIN
   IF v_character = 'A'                --判断字符是否为'A',如果不是,则跳到下一个ELSIF
   THEN
      DBMS_OUTPUT.put_line ('当前输出字符串:' || v_character);
   ELSIF v_character = 'B'             --判断字符是否为'B',如果不是,则跳到下一个ELSIF
   THEN
      DBMS_OUTPUT.put_line ('当前输出字符串:' || v_character);
   ELSIF v_character = 'C'             --判断字符是否为'C',如果不是,则跳到下一个ELSIF
   THEN
      DBMS_OUTPUT.put_line ('当前输出字符串:' || v_character);
   ELSIF v_character = 'D'             --判断字符是否为'D',如果不是,则跳到ELSE语句
   THEN
      DBMS_OUTPUT.put_line ('当前输出字符串:' || v_character);
   ELSE
      DBMS_OUTPUT.put_line ('不是A-D之间的字符');
   END IF;
END;

简单CASE语句

如:

DECLARE
   v_job     VARCHAR2 (30);             --定义保存CASE选择器的字符型变量
   v_empno   NUMBER (4)    := &empno;   --定义用来查询员工的员工编号
BEGIN
   SELECT job                           --获取选择器v_job的值
     INTO v_job
     FROM emp
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值