tnblog
首页

oracle编程基础

321人阅读 2018/12/28 21:28 评论:0 收藏
分类: Oracle

简单介绍一下oracle中if,else,case when,循环,异常处理等用法


if,else

declare ptype int:=2;
begin
    if ptype = 1 then
       dbms_output.put_line('长');
    else
       dbms_output.put_line('短');
    end if;
end;

if,else if ,else

declare ptype int:=3;
begin  
    if ptype = 1 then
       dbms_output.put_line('长');
    elsif ptype = 2 then  --注意是elsif 不是else if
       dbms_output.put_line('粗');
    elsif ptype = 3 then
       dbms_output.put_line('壮');
    else
       dbms_output.put_line('短');
    end if;
end;


Case When

declare ptype int;
begin  
    ptype:=5;
    case ptype
      when 1 then
          dbms_output.put_line(1);
      when 2 then
          dbms_output.put_line(2);
      else
          dbms_output.put_line('sdfdsf');
     end case;
end;

方法2:

declare ptype int;
begin  
    ptype:=1;
    case 
      when ptype = 1 then
          dbms_output.put_line('香蕉');
      when ptype = 2 then
          dbms_output.put_line('拔那');
      else
          dbms_output.put_line('其他');
     end case;
end;

在查询语句中使用case when

select  ename,
   ( 
     case when ename='SCOTT' then '(>^ω^<)喵'
     when ename = 'BLAKE' then '公老虎'
     when ename = 'KING' then '母老虎'
     else '纸老虎' end   --注意这里是end不是end case
   ) 
from scott.emp;



Oracle循环


1.loop循环

declare i int;
begin
     i:=1;
     loop
         dbms_output.put_line(i);  
         exit when i >=10;
         i:=i+1;--循环退出条件    
     end loop;     
end;

2.while循环

declare ptype int;
begin
     ptype:=1;
     while ptype<10
     loop
         dbms_output.put_line(ptype);  
         ptype:=ptype+1;    
     end loop;     
end;

3.for循环

declare ptype int;
begin
     ptype:=1;
     for ptype in 1..10 
     loop
         dbms_output.put_line(ptype);  
     end loop;     
end;


Oracle异常处理

declare 
 i int:=1;
 p nvarchar2(64);
begin  
   p:='hello';
   i :=p+1; --让数字和字符串相加模拟一个错误
   dbms_output.put_line(p);
   exception 
     when value_error  then  --捕获数字或值错误
        dbms_output.put_line('数字或值错误');
     when others then
        dbms_output.put_line('报错了啊'); 
end;






请先登录

{{item.title}}

{{item.content}}
不能简单的解决问题,那是设计与做法有问题
博主搜索
文章类别
CSS 5篇
云服务 2篇
Git 4篇
.NET 29篇
Android 0篇
软件架构 4篇
.NET Core 15篇
.NET MVC 3篇
英语 3篇
随笔 3篇
Bootstrap 1篇
Redis 12篇
编辑器 2篇
Js相关 6篇
Layui 2篇
Oracle 7篇
Python 2篇
数据库 2篇
EF 2篇
微信 2篇
前端 1篇
消息队列 1篇
最新文章
为什么要使用webapi而不直接使用controller
net core发布到IIS常见错误
net core依赖注入
NET CORE配置EF连接字符串
Net Core使用依赖注入来装载EF的上下文对象
下载net core
Sqlerver添加用户与授权
net core中使用url编码与解码操作
net core启动报错Unable to configure HTTPS endpoint. No server certificate was specified
.net core使用response
ef6动态添加条件
最新评价
{{item.ArticleTitle}}
{{item.BlogName}} : {{item.Content}}