`
q272156430
  • 浏览: 275815 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle 控制语句

阅读更多

一、条件分支语句
条件分支语句用于依据特定的情况选择要执行的操作,PL/SQL提供了三种条件分支语句:if-then, if-then-else,if-then-elsif。
语法如下:

if conditions then
   statements;
[elseif conditions then 
   statements;]
[else 
   statements;]
end if;


   1、if-then示例
    用于执行单一条件判断,如果满足特定条件则会执行相应操作,如果不满足特定条件则退出条件分支语句。
  

    
    declare
      v_count number;
    begin
    select count(*) into v_count from cip_temps;
    if(v_count>0) then
  	 dbms_output.put_line('v_cont的值:'|| v_count);
      end if;
    end;
   /
   


    2、if-then-else示例
     用于执行二重条件判断,如果满足特定条件则执行一组操作,如果不满足则执行另一组操作。

      declare
        v_count number;
      begin
        select count(*) into v_count from cip_temps;
          if(v_count>11) then
  	    dbms_output.put_line('v_cont的值:'|| v_count);
          else 
          dbms_output.put_line('v_count的值:'|| v_count);
        end if;
      end;
     /
    


  
    3、if-then-elsif示例
     用于执行多重条件判断,如果满足特定条件1则执行第一组操作,如果满足特定条件2则执行第二组操作,以此类推,如果都不满足特定条件则执行不满足条件的操作。
   

 
      declare
        v_count number;
      begin
        select count(*) into v_count from cip_temps;
        if(v_count>10) then
  	       dbms_output.put_line('if操作___v_cont的值:'|| v_count);
        elsif (v_count=10) then
          dbms_output.put_line('elsif操作____v_count的值:'|| v_count);
        else
          dbms_output.put_line('else操作____v_cout的值:'||v_count);
        end if;
      end;
      / 
 


二、case语句
当执行多重条件分支语句时,使用case语句更加简洁、而且效率也更好。case语句处理多重条件分支语句有两种方法,第一种方法是使用单一选择符进行等值比较。第二种方法是使用多种条件进行非等值比较。
   1、使用单一选择符进行等值比较
      当执行case语句执行多重条件分支时,如果条件选择符完全相同,并且条件表达式为相同条件选择,那么可以选择单一选择符进行等值比较,语法如下:
  

   case  条件选择符
      when   条件值表达式1 then 要执行的操作1;
      when   条件值表达式2 then 要执行的操作2;
       。。。。。。。
      else 
        要执行的操作。
      end case;
   


  示例如下:

    declare
      v_count number;
    begi
     select count(*) into v_count from cip_temps;
      case v_count
        when 1 then
 	        dbms_output.put_line('when 1操作___v_cont的值:'|| v_count);
        when 5 then
         dbms_output.put_line('when 5操作___v_count的值:'|| v_count);
        when 10 then
         dbms_output.put_line('when 10操作____v_count的值:'|| v_count);
      else
        dbms_output.put_line('else操作____v_cout的值:'||v_count);
     end case;
    end;
    / 
 


   2、case使用多种条件进行比较
   如果选择多个条件进行不同比较时,那么必须在when子句中指定比较条件,语法如下:
    

   case  
      when   条件值表达式1 then 要执行的操作1;
      when   条件值表达式2 then 要执行的操作2;
       。。。。。。。
      else 
        要执行的操作。
      end case;
   


  示例如下:
  

    declare
      v_count number;
    begin
     select count(*) into v_count from cip_temps;
      case 
        when v_count>10 then
 	        dbms_output.put_line('when 1操作___v_cont的值:'|| v_count);
        when v_count>5 then
         dbms_output.put_line('when 5操作___v_count的值:'|| v_count);
        when v_count>4 then
         dbms_output.put_line('when 10操作____v_count的值:'|| v_count);
        else
        dbms_output.put_line('else操作____v_cout的值:'||v_count);
     end case;
    end;
    / 
 


三、循环语句
  三种循环:基本循环、while循环、for循环语句。
1、基本循环
循环语句以loop开始,以end loop结束,其语法如下:
  loop
      statement1;
       。。。。。。
       exit[when condition];
    end loop;
注意:当执行基本循环语句时,无论是否满足条件,语句至少会被执行一次,当condition为true时,会推出循环。并执行end loop后的相应操作。当编写基本循环语句时,一定要有exit语句,否则会出现死循环,另外还要定义循环控制变量。
  示例如下:

    declare
     i int:=1;
    begin
     loop   
	  dbms_output.put_line(i);
	  exit when i=10;
	  i:=i+1;
	 end loop;
    end;
    /
 


2、while循环
对于while循环,只要条件为true时,才执行循环体内语句。while循环以while...loop开始,以end loop结束。其语法如下:

while 条件 loop
语句1;
语法2;
end loop;

当条件为true执行循环体内语句,当条件为false或full时,则跳出循环执行end loop以后的语句,另外还要定义循环控制变量。
示例如下:

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


3、for循环
当使用for循环时,oracle会隐藏定义循环控制变量(即不需要人工定义循环控制变量),语法如下:

for counter in[reverse]
lower_bound..upper_bound loop
      statement1;
      statement2;
      ..........
end loop;

注意:counter循环控制变量,oracle会隐藏定义,lower_bound和upper_bound分别对应于循环变量的下界值和上界值,默认情况下,当使用for循环时,每次循环时循环控制变量会自动增一;如果指定reverse选项,那么每次循环时循环变量会自动减一。示例如下:

declare   
 begin   
 for i in reverse  1..10 loop   
  dbms_output.put_line(i);   
 end loop;   
 end;   
 /    
 
分享到:
评论

相关推荐

    oracle控制语句

    oracle控制语句

    Oracle控制语句结构

    Oracle数据库学习整理出来的控制语句结构,提供给大家参考哦

    Oracle控制语句[参考].pdf

    Oracle 数据库是一个强大的关系型数据库管理系统,其支持多种SQL语句来实现对数据的操作和管理。...通过合理使用这些控制语句,我们可以有效地管理数据库,保证数据的完整性和一致性,同时确保数据的安全访问。

    oracle PLSQL结构控制语句

    Oracle PL/SQL 结构控制语句详解 Oracle PL/SQL 结构控制语句是 PL/SQL 语言中的一种基本结构,用于控制程序的逻辑流程。结构控制语句可以分为两种:分支结构和循环结构。在本篇文章中,我们将详细介绍 Oracle PL/...

    Oracle数据库语句大全.doc

    Oracle 数据库支持多种事务控制语句,例如 COMMIT、ROLLBACK 和 SAVEPOINT。 Oracle 数据库语句大全是 Oracle 数据库管理系统中的一系列语句,用于管理和操作数据库。这些语句可以分为四大类:数据定义语言(DDL)...

    Oracle中的控制语句

    Oracle中的控制语句

    常用oracle查询语句

    本文总结了十个常用的 Oracle 查询语句,涵盖了查看表空间、回滚段、控制文件、日志文件、表空间使用情况、数据库对象、数据库版本、数据库创建日期、归档方式、长时间运行的 SQL 语句和数据表参数信息等多个方面。...

    oracle常用SQL语句(汇总版).docx

    在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义语句(DDL)和其他相关知识点。 一、数据控制语句(DML) 数据控制语句用于操作数据库中的数据,包括插入、删除、更新等...

    Oracle常用语句-总结文档汇总

    "Oracle常用语句-总结文档汇总"提供了丰富的资源,涵盖了SQL语句的基础到进阶应用,包括列行转换、SQL性能优化等多个关键知识点。 首先,列行转换是数据处理中常见的需求,Oracle提供了多种方法来实现这一操作。...

    oracle sql语句学习

    Oracle SQL语句是数据库管理与数据查询的重要工具,尤其在大型企业级应用中,Oracle数据库系统因其稳定性、高效性及广泛的功能支持而被广泛应用。本资料包“Oracle SQL语句学习”旨在帮助初学者从基础入手,逐步掌握...

    Oracle sql 语句集锦

    - **流程控制语句** - **If-Else**: `IF`语句用于基于条件执行不同的代码块。例如: ```sql DECLARE v_x NUMBER := 1; v_y NUMBER := 2; BEGIN IF v_x &gt; v_y THEN DBMS_OUTPUT.PUT_LINE('x &gt; y'); ELSE ...

    oracle sql 语句暗示 hints

    ### Oracle SQL 语句暗示 (Hints) 全面解析 #### 一、引言 在当前企业级应用环境中,为了实现成本控制与性能优化的目标,高效编写应用程序变得尤为重要。这不仅涉及程序的设计与实现,还包括运行时资源的有效利用...

    oracle开发语句及项目

    "Oracle开发语句及项目"这个主题涵盖了Oracle数据库的SQL语句使用和实际项目中的应用场景。下面将详细介绍Oracle开发中的关键知识点。 1. SQL基础: - SELECT语句:用于查询数据,包括基本查询、联接查询、子查询...

    Oracle中SQL语句执行效率的查找与解决

    本文将深入探讨Oracle中SQL语句执行效率的查找与解决方法,特别关注于如何识别和优化那些导致性能瓶颈的查询。 ### Oracle SQL执行效率:查找与解决 #### 一、资源消耗分析 在Oracle中,SQL语句执行效率低下通常...

    Oracle SQL语句跟踪

    Oracle SQL语句跟踪是数据库管理员和开发人员在优化SQL性能、定位问题或调试查询时常用的一种技术。在Oracle数据库系统中,SQL语句跟踪能够帮助我们收集关于SQL执行的详细信息,包括执行计划、资源消耗、等待事件等...

    oracle备份与经典语句

    本文将深入探讨Oracle备份的重要性和常用的备份策略,以及一些经典的Oracle操作语句。 一、Oracle备份的重要性 1. 数据保护:备份是为了防止数据丢失,无论是因为硬件故障、软件错误还是人为操作失误,备份都可以...

    自动生成oracle数据库表分析语句

    ### 自动生成Oracle数据库表分析语句 在Oracle数据库管理中,定期进行表分析对于优化查询性能至关重要。通过分析表和索引,Oracle可以更新统计信息,这些信息将被查询优化器用于选择最佳的执行计划。本文将详细介绍...

    update语句的优化-oracle .pdf

    在本篇文档中,作者详细总结了在实际项目中针对Oracle数据库的update语句优化的四种方案。以下是对这四种方案的知识点进行详细的阐述: 1. 标准update语法优化: 当面对单表更新或较简单的SQL语句时,可以直接使用...

    mysql&oracle;语句自动生成工具

    MySQL和Oracle是两种...总的来说,这个工具为数据库管理员和开发者提供了一种高效、便捷的方式来管理和操作MySQL和Oracle数据库,减少了手动编写SQL语句的工作量,提高了工作效率,是数据库管理工具箱中的有力辅助。

    oracle 到mysql转换工具

    Oracle到MySQL转换工具是一款专为数据库迁移设计的实用软件,主要功能是将Oracle数据库中的数据结构和SQL语句转换成MySQL兼容的格式,方便用户在不同的数据库系统间进行数据迁移。这款工具通常适用于那些需要从...

Global site tag (gtag.js) - Google Analytics