热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle游标(一)显式游标

Oracle游标(一)显式游标显式游标是用户手动声明和操作的游标显式游标的使用步骤1.声明游标2.打开游标语法www.2cto.com3.提取游标语法4.关闭游标语法显示游标完整示例游标的属性语法整体示例:为员工添加工...SyntaxHighlighter.all();

Oracle游标(一)显式游标
 
显式游标是用户手动声明和操作的游标
显式游标的使用步骤
1.声明游标
 

\

\

2.打开游标
语法
  www.2cto.com  

\

 

\

 
3.提取游标
语法
 

\

 

\

 
4.关闭游标
语法
 

 
显示游标完整示例

 
游标的属性

 
语法

 
整体示例:
为员工添加工资:
[sql] 
declare  
  hire_date date; --存放员工入职日期  
  e_id      number; --存放员工id  
  cursor emp_cur is --定义游标  
    select id, hire_date from employees;  
begin    www.2cto.com  
  open emp_cur; --打开游标  
  loop  
    fetch emp_cur  
      into e_id, hire_date; --将数据逐条存入变量中,并且游标向后移动  
    exit when emp_cur%notfound;  
    if 100 * (2010 - to_char(hire_date, &#39;yyyy&#39;)) <1000 then  
      update salary  
         set salarvalue = salaryvalue +  
 
                          100 * (2010 - to_char(hire_date, &#39;yyyy&#39;))  
       where emplyeeid = e_id;  
    else  
      update salary  
         set salarvalue = salaryvalue + 1000  
       where emplyeeid = e_id;  
    end if;  
   close emp_cur;  
  end loop;  
 
显示游标经常和循环一起使用,简化的遍历方法如下:


 
示例  www.2cto.com  
[sql]
declare   
  type emplyee_record is record  
  (  
      name varchar2(50),  
      department_name varchar2(20)  
  );  
  cursor emp_cur is  
       select name,department_name from emplyees s,departments d  
       where e.department_id=d.department_id;  
         
  begin   
    for employee_record in emp_cur loop  
      dbms_output.put_line(employee_record.name||&#39;在&#39;||emploee_record.department_name);  
    end loop;  
  end;  

推荐阅读
  • MySQL 5.7 服务端在 Windows 上的安装与配置
    本文详细介绍了在 Windows 系统上安装和配置 MySQL 5.7 服务端的方法,包括 my.ini 配置文件的设置、初始化数据库、启动服务以及设置用户权限等步骤。 ... [详细]
  • 本文介绍了如何在 SQL Server (MSSQL) 数据库中更新 XML 列中的属性和节点内容。 ... [详细]
  • 如何将两个具有相同主键的Excel表格合并
    本文介绍如何将两个具有相同主键的Excel表格进行合并,通过左连接的方式将表2的数据插入到表1中。具体步骤包括在表1中添加新的列、使用VLOOKUP函数进行数据匹配,以及通过SQL语句实现数据库中的表连接。 ... [详细]
  • 解决Win7安装SQL Server时NetFx3启动失败的问题
    在使用Win7系统安装SQL Server时,部分用户可能会遇到“启动Windows功能NetFx3时出错”的提示。本文将详细介绍这一问题的原因及解决方法。 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • 本文讨论了在 Oracle 10gR2 和 Solaris 10 64-bit 环境下,从 XMLType 列中提取数据并插入到 VARCHAR2 列时遇到的性能问题,并提供了优化建议。 ... [详细]
  • 本文探讨了在 SQL Server 2012 的 Integration Services 项目中配置 ADO.NET 源时遇到的错误及其解决方案。 ... [详细]
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • 数据仓库ETL开发过程中,如何有效进行测试是一个关键问题。由于数据仓库通常包含大量数据,并且出于安全考虑,开发库和测试库的数据与生产库不完全一致,这给测试带来了挑战。本文将探讨适用于ETL开发的测试方法,包括单元测试、集成测试以及具体测试技术。 ... [详细]
  • 周排行与月排行榜开发总结
    本文详细介绍了如何在PHP中实现周排行和月排行榜的开发,包括数据库设计、数据记录和查询方法。涉及的知识点包括MySQL的GROUP BY、WEEK和MONTH函数。 ... [详细]
  • 如何在不同数据库中提取前N%的记录
    本文详细介绍了如何在SQL Server、Oracle和MySQL等不同数据库中提取前N%的记录。通过具体的示例和代码,帮助读者理解和掌握这些方法。 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
  • 本文介绍 DB2 中的基本概念,重点解释事务单元(UOW)和事务的概念。事务单元是指作为单个原子操作执行的一个或多个 SQL 查询。 ... [详细]
  • MySQL Server 8.0.28 升级至 8.0.30 的详细步骤
    为了修复安全漏洞,本文档提供了从 MySQL Server 8.0.28 升级到 8.0.30 的详细步骤,包括备份数据库、停止和删除旧服务、安装新版本以及配置相关环境变量。 ... [详细]
  • RocketMQ在秒杀时的应用
    目录一、RocketMQ是什么二、broker和nameserver2.1Broker2.2NameServer三、MQ在秒杀场景下的应用3.1利用MQ进行异步操作3. ... [详细]
author-avatar
我是你的鹏鹏鹏爷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有