Oracle高级plsql的if分支和循环loop­

本文介绍了Oracle PL/SQL中的If条件语句和Loop循环语句,包括不同语法结构及多个示例,如判断年龄阶段、输出数字等,帮助理解如何在PL/SQL中进行条件判断和循环操作。

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

------------------------------------------------Oracle高级plsql的if分支和循环loop­----------------------------------------------------

If语句

语法1:

               IF   条件  THEN 语句1;

      语句2;

      END IF;

语法2:

               IF  条件  THEN  语句序列1;  

       ELSE  语句序列 2;

       END  IF;

语法3:

IF   条件  THEN 语句;

ELSIF  语句  THEN  语句;

ELSE  语句;

END  IF;

范例1:如果从控制台输入1则输出我是1

declare

  pnum number := #

begin

  if pnum = 1then

    dbms_output.put_line('我是1');

  endif;

end;

范例2:如果从控制台输入1则输出我是1否则输出我不是1

declare

  mynum number := #

begin

  if mynum = 1then

    dbms_output.put_line('我是1');

  else

    dbms_output.put_line('我不是1');

  endif;

end;

范例3:判断人的不同年龄段18岁以下是未成年人,18岁以上40以下是成年人,40以上是老年人

declare

  mynum number := #

begin

  if mynum < 18then

    dbms_output.put_line('未成年人');

  elsif mynum >= 18and mynum < 40then

    dbms_output.put_line('中年人');

  elsif mynum >= 40then

    dbms_output.put_line('老年人');

  endif;

end;

代码示例:

 

declare

  pno number(4) := &num; --定义手动赋值的变量

begin

  if pno < 5 then

    dbms_output.put_line('pno小于5');

  end if;

end;

 

declare

  pno number(4) := &num; --定义手动赋值的变量

begin

  if pno = 5 then

    dbms_output.put_line('pno等于1');

  else

    dbms_output.put_line('我不是1');

  end if;

end;

 

declare

  pno number(4) :=&num; --定义手动赋值的变量

begin

  if pno = 1 then

    dbms_output.put_line('pno等于1');

  elsif pno = 2 then

    dbms_output.put_line('pno等于2');

  else

    dbms_output.put_line('其他');

  end if;

end;

-------------------------------------------------------------------------------------------------------------

.LOOP循环语句

其中语法2比较常用

语法1:

WHILE  total  <= 25000 LOOP

.. .

total : = total + salary;

END  LOOP;

 

语法2

Loop

EXIT[when   条件];

……

End loop

语法3:

FOR   I  IN   1 . . 3    LOOP

语句序列 ;

END    LOOP ;

范例:使用语法1输出1到10的数字

declare

  step number := 1;

begin

  while step <= 10loop

    dbms_output.put_line(step);

    step := step + 1;

  endloop;

end;

范例:使用语法2输出1到10的数字

declare

  step number := 1;

begin

  loop

    exitwhen step > 10;

    dbms_output.put_line(step);

    step := step + 1;

  endloop;

end;

范例:使用语法3输出1到10的数字

declare

  step number := 1;

begin

  for step in1 .. 10loop

    dbms_output.put_line(step);

  endloop;

end;

代码示例:

declare

  total   number(4) :=0;

begin

  while total <= 10 loop

    total := total +1;

    dbms_output.put_line(total);

  end loop;

end;

 

--最常用循环的方法

declare

  total number(4) := 0;

begin

  loop

    exit when total = 100;

    total := total + 1;

    dbms_output.put_line(total);

  end loop;

end;

 

--适合于连续的数值遍历

declare

  total number(4) := 0;

begin

  for total in 1 .. 100 loop

    dbms_output.put_line(total);

  end loop;

end;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值