Oracle-游标

简介

游标即cursor是一种用于遍历结果集的数据类型。它是一个指向结果集的指针,可以用于遍历结果集中的每一行数据,但是一次只能指向一行。游标通常用于存储过程和函数中,以便在处理结果集时能够逐行处理数据。

语法

/*
游标:(cursor)
用来存储多条查询数据的一种数据结构(结果集)
它有一个指针,从上往下移动(fetch),从而遍历每条记录
游标加快查询效率
优缺点:
提高sql,加快执行效率,----牺牲内存(数据会存储在内存中)
语法:
declare
    cursor游标名(推荐cur_XXXX)
    is
      --查询语句
    begin
     --输出语句
     end;
-*/
 

--使用 fetch来获得员工编号及姓名
--在游标中使用fetch则语法为
declarecursor 游标名 is查询语句;--声明变量begin--打开游标open游标名;fetch XXXXXX;--关闭游标close 游标名;end;

 

%ROWTYPE:表示该类型为行数据类型,存储的时候为一行数据,一行有很多列,相当于表中的一行数据,也可以的游标中的一行数据。

   用到%ROWTYPE作用是:当查询整行的时候(SELECT * FROM EMP;),那么效率比每一个字段对应快。

    例如: v_info emp%ROWTYPE; //该类型为emp表中的一行数据类型

 

 

----单条数据declare cursor cur_student_1isselect * from student where stuno='1001';     --查询sqlstuInfo  cur_student_1%rowtype; -- 按行读取, stuInfo 就是 一行一行的数据   beginopen cur_student_1;   -- 打开游标fetch cur_student_1  into stuInfo;  -- 提取记录dbms_output.put_line(stuInfo.stuname||'的电话为'||stuInfo.phone);close cur_student_1;  --关闭游标end;--循环写法:declare cursor cur_student_2     --声明游标is select * from  student;       -- 定义查询语句stud cur_student_2%rowtype;    -- 按行读取begin open  cur_student_2;           -- 打开游标-- 循环读取loop fetch cur_student_2 into stud;  --提取数据exit when cur_student_2%notfound;   -- 当 找不到数据时  dbms_output.put_line(stud.stuname||'的电话为'||stud.phone);   --输出end loop;close  cur_student_2;   -- 关闭游标end;	

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/597925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3中vite使用sass

引用:https://blog.csdn.net/weiliang_66/article/details/132469597 npm install sass -d配置vite.config.js: css: {preprocessorOptions: {scss: {additionalData:import "/assets/styles/main.scss";}}}创建对应的 main.sass

花了一小时,拿python手搓了一个考研背单词软件

听说没有好用的电脑端背单词软件?只好麻烦一下,花了一小时,拿python手搓了一个考研背单词软件。 代码已经开源在我的github上,欢迎大家STAR! 其中,数据是存放在sqlite中,形近词跳转是根据jaro …

新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/n…

遥感影像-语义分割数据集:2021年昇腾杯复赛数据集详细介绍及训练样本处理流程

原始数据集详情 简介:细粒度语义分割赛道依据现有的遥感地物分类要求, 结合现有的地物分类实际需求,参照地理国情监测、 “三调”等既有地物分类标准,依据遥感地物“所见即所得”原则, 设计地物要素分类体系&#xff…

2024最新Java基础面试题大全(三)

文章目录 1、Spring 两大模块是什么,有什么作用2.1、IOC2.2、AOP 2、Spring 中常用注解、与其含义作用是什么2.1、声明bean2.2、注入bean2.3、配置类的相关注解2.4、单元测试注解2.5、时间转换注解2.6、SpringMVC 注解2.7、AOP 切面相关注解 3、SpringBean 的生命周…

Excel技巧之【如何修改密码】

我们知道,Excel可以设置多种密码来保护文件,那想要修改密码,要如何操作呢?下面小编来分享一下Excel常用的3种密码的修改方法,一起来看看吧! 1. “打开密码” 想要修改Excel表格的“打开密码”&#xff0c…

scratch给数据清单排序 2023年12月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析

目录 scratch给数据清单排序 一、题目要求 1、准备工作 2、功能实现 二、案例分析

Web前端篇——ElementUI之el-scrollbar + el-backtop + el-timeline实现时间轴触底刷新和一键返回页面顶部

ElementUI之el-scrollbar el-backtop el-timeline实现时间轴触底刷新和一键返回页面顶部。 背景:ElementUI的版本(vue.global.js 3.2.36, index.css 2.4.4, index.full.js 2.4.4) 废话不多说,先看动…

骑砍战团MOD开发(31)-游戏AI控制

一.骑砍单机模式下AI控制 骑砍战团中野外战斗,训练场中小兵和地方小兵的行为统称为场景AI. 骑砍大地图中敌军追踪和遭遇追击统称为大地图AI. 二.骑砍场景AI 骑砍引擎通过header_mission_templates,py定制AI常量控制小兵位置,动作和朝向.可实现自定义阵型和攻击动作。 # Agen…

双指针|11.盛最多水的容器

11.盛最多水的容器 **题目:**给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 题…

VSCode远程开发配置和SSH免密登录

目录 概要远程开发插件安装开始连接SSH免密登录开发环境配置 概要 现在很多公司都是直接远程到服务器上写代码,使用远程开发,可以在与生产环境相同的环境中开发、测试和部署代码,减少因环境不同而导致的问题。本文将详细介绍如何通过VSCode连…

帕金森病是否会影响患者的寿命?

帕金森病是一种慢性神经系统疾病,主要影响患者的运动能力,包括肌肉僵硬、震颤和运动迟缓等。关于帕金森病是否会影响患者的寿命,这是一个复杂的问题,需要从多个角度进行分析。 首先,帕金森病本身并不会直接导致患者死…

MS713/MS713T:CMOS 低压、4Ω四路单刀单掷开关,替代ADG713

产品简述 MS713/MS713T 是一款单芯片 CMOS 4 路可选择开关,具有低 功耗、高开关速度、低导通阻抗、低漏电和高带宽特性。其工作 电压范围是 1.8V 到 5.5V ,可以广泛应用在电池供电仪器仪表、新 一代的模数转换和数模转换系统中。其高带宽特性可用在 …

【React系列】网络框架axios库的使用

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. axios库的基本使用 1.1. 网络请求的选择 目前前端中发送网络请求的方式有很多种: 选择一:传统的Aj…

uniapp vue 前端页面半小时选择器

<template><view><view class"uni-title uni-common-pl">时间选择器</view><view class"uni-list"><view class"uni-list-cell"><view class"uni-list-cell-left">当前选择</view>&l…

【K8S 云原生】Pod资源限制、Pod容器健康检查(探针)

目录 一、docker的重启方式和K8S重启方式 1、Pod的重启方式&#xff1a; 2、docker的重启策略&#xff1a; 二、yaml文件快速生成&#xff1a; 三、pod的状态&#xff1a; 四、Pod的资源限制 1、限制的方式和种类 2、CPU的限制的格式&#xff1a; 五、K8S拉取镜像的策…

Day17- 二叉树part06

一、最大二叉树 题目一&#xff1a;654.最大二叉树 654. 最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最…

一文讲透使用SPSS统计分析软件如何处理缺失值?

推荐采用《SPSS统计分析入门与应用精解&#xff08;视频教学版&#xff09;》 杨维忠、张甜 清华大学出版社“1.9 缺失值处理” 的解答。 本节内容选自《SPSS统计分析入门与应用精解&#xff08;视频教学版&#xff09;》 杨维忠、张甜 清华大学出版社“1.9 缺失值处理”&#…

C++完成使用map Update数据 非二进制

1、在LXMysql.h和LXMysql.cpp分别定义和编写关于pin语句的代码 //获取更新数据的sql语句 where语句中用户要包含where 更新std::string GetUpdatesql(XDATA kv, std::string table, std::string where); std::string LXMysql::GetUpdatesql(XDATA kv, std::string table, std…

数据结构与算法教程,数据结构C语言版教程!(第二部分、线性表详解:数据结构线性表10分钟入门)七

第二部分、线性表详解&#xff1a;数据结构线性表10分钟入门 线性表&#xff0c;数据结构中最简单的一种存储结构&#xff0c;专门用于存储逻辑关系为"一对一"的数据。 线性表&#xff0c;基于数据在实际物理空间中的存储状态&#xff0c;又可细分为顺序表&#xff…