Oracle数据库PL/SQL学习笔记二——基础控制语句

简介: Oracle数据库PL/SQL学习笔记二——基础控制语句
<span style="font-size:18px; font-family: Arial, Helvetica, sans-serif;">--简单的if判断</span>


<span style="font-size:18px;">begin
    if &var > 10 and &var <= 50 then
        dbms_output.put_line('输入值大于10');
    elsif &var > 50 then
        dbms_output.put_line('输入值大于50');
    else
         dbms_output.put_line('不在范围中');
    end if;
end;
--case搜索语句 (默认搜索true,当when满足true时执行。当case false时,搜索false,当when为false时执行)
begin
   case true
     when &var < 10 and &var > 0 then
          dbms_output.put_line('范围是0~10');
     when &var < 50 and &var > 10 then
          dbms_output.put_line('范围是10~50');
     when &var < 100 and &var > 50 then
          dbms_output.put_line('范围是50~100');
     else
          dbms_output.put_line('不在范围中');
   end case;
end;
--简单case语句(等于比较)
declare var1 varchar2(30);
begin
   var1 := &var;
   case var1
     when '男' then
          dbms_output.put_line('性别为男');
     when '女' then
          dbms_output.put_line('性别为女');
     else
          dbms_output.put_line('不在范围中');
   end case;
end;
--数值for循环
begin
   for i in 1..10 Loop
      dbms_output.put_line('The index value is ['||i||']');
   end loop;
end;
--显示游标for循环(i相当于一条记录,能直接通过 i.字段名获得对应的字段值)
declare
   cursor cur is select * from SCOTT.EMP t;
   begin
     for i in cur loop
        dbms_output.put_line('The name is ['||i.ename||']');
     end loop;
end;   
--隐式游标for循环(i相当于一条记录,能直接通过 i.字段名获得对应的字段值)
begin
     for i in (select * from SCOTT.EMP t) loop
        if i.ename = 'JONES' then
          exit;
        end if;
        dbms_output.put_line('The name is ['||i.ename||']');        
     end loop;
        dbms_output.put_line('循环结束');        
end;    
--简单循环
declare
   emp_entity SCOTT.EMP%rowtype;    --定义一行的数据类型    emp_name SCOTT.EMP.ENAME%type;
   cursor cur is select * from SCOTT.EMP t;
begin
   open cur;
   loop
      fetch cur into emp_entity;
          dbms_output.put_line('The name is ['||emp_entity.ename||']'); 
       exit when cur%notfound;    --exit when放在循环最后执行,达到类似repeat until循环的效果
   end loop;
   close cur;
end;  
-- exit when的用法
declare
  emp_name SCOTT.EMP.ENAME%type;--根据表的指定字段的数据类型定义变量
   cursor cur is select t.ename from SCOTT.EMP t;
begin
   open cur;
   loop   
      fetch cur into emp_name;
         exit when emp_name ='wanli';    --条件放前面,先判断后执行
          dbms_output.put_line('The name is ['||emp_name||']');    
   end loop;
   close cur;
end;          
--if  exit的用法         continue和continue when跳过当前索引值是11g的新功能 
declare
  emp_name SCOTT.EMP.ENAME%type;
   cursor cur is select t.ename from SCOTT.EMP t;
begin
   open cur;
   loop   
      fetch cur into emp_name;
        if emp_name = 'wanli'  then
          exit;
        else
          dbms_output.put_line('The name is ['||emp_name||']');   
        end if; 
   end loop;
   close cur;
end;
--while循环
declare 
   emp_name SCOTT.EMP.ENAME%type;
   cursor cur is select t.ename from SCOTT.EMP t;
begin
    open cur;
    while cur%isopen loop
        fetch cur into emp_name;
        if cur%notfound then
           close cur;   --关闭游标,不能通过while循环的条件判断,自然结束循环
        end if;
         dbms_output.put_line('The name is ['||emp_name||']'); 
    end loop;
end;
</span>
目录
相关文章
|
6天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
6天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
7天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
17天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
25 7
|
17天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
17 5
|
17天前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
15 2
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
19 1
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
81 1
|
17天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
59 2

推荐镜像

更多