Oracle 循环语句 总结

嘿嘿...今天这个循环语句把我弄得好晕啊!!不过在我Google半天后终于明白了,

所以今天把这些Oracle的循环语句总结 了一下。

loop 语句(至少被执行一次):

例子:

declare

  i int:=1;

begin

  loop

   dbms_output.put_line(i);

   exit when i= 100;

   i:=i+1;

 end loop;

end;

/

 

while语句(相当于把loop语句的退出条件放到了前面):

例子:

declare

   i int:=1;

begin

   while i<= 100 loop                     !!! 注意啦!!这里是布尔表达式 啊!!如果不知道啥是布尔表达式那就Google吧!!

     dbms_output.put_line(i);

     i:=i+1;

   end loop;

end;

/

 

for语句(这个嘛,分两种)

第一种、这种就是Oracle通常见到的for语句

例子:

begin

  for i in 1..100 loop

    dbms_output.put_line(i);

  end loop;

end;

/

第二种、这种就是只有在游标 里才可以看到的for循环(游标FOR循环 百年一见啊..),就是这个我最不明白,开始还以为语句写错了呢!呵呵...

例子:

(1)这个要先建立一个测试表

create table test(cou_no number,name varchar2(10),grade number);

(2)向测试表 里插入值

insert into test values(1,'scott',90);

insert into test values(2,'tiger',70);

insert into test values(1,'james',80);

insert into test values(2,'king',89);

(3)终于 可以运用游标的FOR循环语句 了!!!!这个语句主要是把cou_no列里值为”1“的grade值减10

    这语句里的大写单词的作用,主要是在更新时给行加锁 ,以防多用户都一起改一个值。

declare

   cursor tt_cursor is

   select * from test FOR UPDATE;

begin

   for rec_cursor in tt_cursor loop

      if rec_cursor.cou_no=1 then

        update test set grade=grade-10 WHERE CURRENT OF tt_cursor;

      end if;

    end loop;

end;

/

 

总算总结完了,累死我了。。。。。。。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值