oracle基础代码使用

create or replace procedure pr_test1 is

v_case number(3) := 100;--定义变量


begin
--  /*判断语句
if 2>1 then
  dbms_output.put_line('条件成立');
 else
   dbms_output.put_line('条件不成立');
   end if;
    
if 2<1 then
  dbms_output.put_line('条件成立');

elsif 4>3 then
   dbms_output.put_line('条件不成立1');
   end if;
   
   elsif 4 > 2 then
   dbms_output.put_line('条件不成立2');
  
 elsif 7>3 then
   dbms_output.put_line('条件不成立3');
   
   end if;
--  */ 

   case v_case   --定义v_case
     
   when 1 then   --当v_case为1时
     dbms_output.put_line('条件成立12');--输出

 when 100 then
dbms_output.put_line('条件成立112');

else--其他匹配都不成立时
dbms_output.put_line('条件不成立,条件不匹配!');
end case;

case 
  when 8>7 then 
    dbms_output.put_line('8>7成立');
    when 9>8 then
      dbms_output.put_line('9>8成立');
      else
        dbms_output.put_line('都不成立');
end case;

<<loop1>>--标签,只是为了标注退出的是循环loop1
loop
  v_case := v_case - 1;
  dbms_output.put_line('v_case的值 = '||v_case);
--if(v_case = 90) then
--dbms_output.put_line('退出循环');
exit loop1 when v_case = 90;

--end if;  

  end loop;
  
while v_case >80
  loop
    v_case :=v_case - 1;
    dbms_output.put_line('v_case的值 = '||v_case);
    end loop;



for inx in 1..20 loop--定义一个变量从1开始一直到20
  v_case := v_case + inx;
  dbms_output.put_line('v_case的值 = '||v_case);
  end loop;

for inx in reverse 1..20 loop--从大到小开始,从20开始一直到1
v_case := v_case + inx;
  dbms_output.put_line('v_case的值 = '||v_case);
end loop;



end pr_test1;
if判断语句 case语句 循环语句使用方式
create or replace procedure pr_test5 is
begin
  update t_hq_ryxx set bumbm = '103' where bumbm is null;--where 是判断条件

if sql%rowcount > 0 then
  dbms_output.put_line('更新了  '||sql%rowcount||'  条记录');
else
  dbms_output.put_line('更新了 0 条记录');
end if;
commit;--提交语句
end pr_test5;
数据的更新操作
--通过输入编号进行相关内容的匹配,匹配成功后输出相关内容
create or replace procedure pr_test3(v_bh in varchar2,v_xx in out varchar2) is
begin
  --定义输入输出xingm变量为v_xm 并将bianh为变量v_bh ,输入的是编号,与bumbm匹配才可以输出配上的姓名
 select xingm into v_xx from t_hq_ryxx where bianh = v_bh and bumbm = v_xx;
 if sql%found then
   dbms_output.put_line('查找到le数据!');
 else
   dbms_output.put_line('未查找到数据');
   end if;
 exception
   when no_data_found then
     
   dbms_output.put_line('未查找到数据');
   
   dbms_output.put_line('sqlcode:'||sqlcode);--错误代码
   dbms_output.put_line('sqlerrm:'||sqlerrm);--错误信息
   
   when others then
     
   dbms_output.put_line('查找出错');
 
   dbms_output.put_line('sqlcode:'||sqlcode);--错误代码
   dbms_output.put_line('sqlerrm:'||sqlerrm);--错误信息
end pr_test3;


create or replace procedure pr_test4(v_bh in varchar2) is
v_xm t_hq_ryxx.xingm%type;
begin
   v_xm :='102';
  pr_test3(v_bh,v_xm);
  dbms_output.put_line(''||v_xm);
end pr_test4;
oracle子程序数据关联及异常处理

 

posted @ 2015-11-01 22:20  業&裳  阅读(174)  评论(0编辑  收藏  举报