oracle--流程控制语句

1 for循环

for var1 in cur_name loop --var1  自动的record 类型的变量   cur_name为游标名,这里也可以用select语句代替

sql语句

end loop;

例如:

set serveroutput on

begin 

for  var1 in (serect  name,age,sal from  emp where job='kaifa')

loop

dbms_output.put('姓名:'||var1.name);

dbms_output.put('年龄:'||var1.age);

dbms_output.put('工资:'||var1.sal);

end loop;

end;

这样就会显示所有工作为开发的信息

2 if  ...then  

if   coundition_expression  then             --  coundition_expression 为条件表达式 当条件为true时,执行主体   这和java或c中的if差不多

主体

end if;

2.2  if...then...else

if    coundition_expression  then           --条件为true时执行主体1,条件为false时执行主体2

主体1   

else

主体2

end if;

2.3  if ...then ...elseif ...else

if    coundition_expression  then           --条件为true时执行主体1,否则判断 coundition_expression2   为true执行主体2 否则执行主体3

主体1   

elseif  coundition_expression2   

主体2 

else

主体3

end if

3   case 语句

case var                       --变量    用来存储要检测的值

when  var1    then  sql1;  --这里的var1是常量,var=var1时执行sql1

when  var2   then  sql2;

when  var3    then  sql3;

else             --这个else 可用可不用,多用来处理不等于 var1,var2,var3的情况的

end case;

4 loop   --loop给我的感觉像java 的do   where循环,sql 语句至少执行一次  var1为true时退出循环

loop

sql

exit then var1   --var1为条件表达式

end loop;

5  where

where var1  loop           -- 当var1为true时执行sql,否则退出

sql

end  loop;

 

posted @ 2018-06-02 22:11  老街巷口熟睡的猫  阅读(176)  评论(0编辑  收藏  举报