ITPub博客

首页 > 数据库 > Oracle > 程序流控制语句练习

程序流控制语句练习

原创 Oracle 作者:sunyi_672 时间:2015-02-09 17:23:30 0 删除 编辑
1、 if...结构

set serveroutput on
declare 
v_t number(10);
 begin
 v_t :=100-50;
 if v_t<100 then
 dbms_output.put_line('结果='||v_t);
 end if;
 end;
 

2、if...else 结构

 set serveroutput on
 declare 
 v_t number(10);
 begin
 v_t :=100-10;
 if v_t <50 then
 dbms_output.put_line('答案是='||v_t);
 else
 dbms_output.put_line('no answer');
 end if;
 end;


3、if...elsif.. 结构

 set serveroutput on
 declare 
 v_t number(10);
 begin
 v_t :=dbms_random.value(0,100);
 if v_t >10 and v_t <20 then
 dbms_output.put_line('牛逼');
 elsif v_t >30 and v_t <50 then
 dbms_output.put_line('很牛逼');
 elsif v_t >60 and v_t <90 then
 dbms_output.put_line('最牛逼');
 else
 dbms_output.put_line('牛大逼');
 end if;
 end;


4、case ... when...

 select name,id,
 (case 
 when num=1 then '牛'
 when num=2 then '逼'
 end) as 结果
 from tt;


5.1 loop循环

 set serveroutput on
 declare 
 v_t number(10) :=1;
 begin 
 loop
 v_t :=v_t+2;
 exit when v_t >100;
 end loop;
 dbms_output.put_line('结果是'||v_t);
 end;


5.2 while... loop...

 set serveroutput on
 declare 
 v_t number(10) :=1;
 begin 
 while v_t < 99 loop
 dbms_output.put_line('结果是'||v_t);
 v_t :=v_t+2;
end loop;
 dbms_output.put_line('结果是'||v_t);
 end;

5.3 for ... loop

set serveroutput on
declare 
v_t number(10) :=0;
begin
for i in 1..100 loop
v_t :=v_t + i;
end loop;
dbms_output.put_line('答案是'||v_t);
end;

6.1 显示游标

set serveroutput on
declare 
cursor v_t is
select * from tt;
v_t1 tt%rowtype;
begin
OPEN v_t;
loop
fetch v_t into v_t1;
exit when v_t %NOTFOUND;
dbms_output.put_line(v_t1.num);
end loop;
close v_t;
end;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26600495/viewspace-1431529/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-12-29

  • 博文量
    51
  • 访问量
    46986