首页 > 其他分享 >游标

游标

时间:2023-09-24 22:22:43浏览次数:24  
标签:false 游标 查询 Oracle true 隐式

什么是游标

Oracle游标是通过关键字cursor来定义一组Oracle查询出来的数据集,类似数组一样,把查询的数据集存储在内存当中,然后通过游标指向其中一条记录,通过循环游标达到循环数据集的目的。

游标的类型

Oracle中游标的类型可以分为静态游标和REF游标,其中静态游标有可以分为隐式游标和现实游标。

  • 静态游标:结果集已经确实(静态定义)的游标。
    • 隐式游标:指的是Oracle自己管理的游标,开发者不能自己控制操作,只能获得它的属性信息。
    • 显示游标:指的是游标使用之前必须得先声明定义,一般是对查询语句的结果集进行定义游标,然后通过打开游标循环获取结果集内的记录,或者可以根据业务需求跳出循环结束游标的获取。循环完成后,可以通过关闭游标,结果集就不能再获取了。全部操作完全由开发者自己编写完成,自己控制。从现实游标的描述可以看出来,它可以用来处理多行数据。
  • REF游标:引用游标,特点是不依赖指定的查询语句,可以在使用时关联不同的查询语句,分为强游标和弱游标两类。

游标的属性

游标的属性是通过‘百分号+函数名’的格式来获取的,常见属性如下:

  • %isopen :游标是否已经是打开状态,值是true或false。
  • %found :当前游标是否能提取出数据,值是true或false。
  • %notfound :和%found相反,表示当前游标是否不能提取出数据(也就是说最后一行数据是否已提取出),值是true或false。
  • %rowcount:当前游标提取的行数,会随着每次fetch而累加(参考显示游标用法中的示例)。

隐式游标的用法

在我们执行insert、update、delete和select…into…的操作中,使用的就是隐式游标。

select…into…

 

标签:false,游标,查询,Oracle,true,隐式
From: https://www.cnblogs.com/xfeiyun/p/17725627.html

相关文章

  • Kingbase ES 游标跨事务及其案例一则
    前言本文介绍游标在PLSQL和SQL层跨事务使用案例,及其案例一则。本文验证版本:db0=#selectversion();db0-#/version----------------------------------------KingbaseESV008R006C007B0024onx86_64-pc-linux-gnu,compiledbygcc(GCC)4.8.520150623......
  • 使用python进行数据同步,根据游标的方式
    使用python进行数据同步,根据游标的方式一、介绍:数据同步分为好几种,比如根据最大id排序,其次才是根据游标进行排序。为什么不使用最大id进行数据同步?如下:因为如果数据表中的数据是按照降序排序的,那么每次根据最大id取1000条数据的方式也是一种可行的分页查询方式。这种方式的优......
  • SQLServer游标的使用,读取表数据赋值循环
    --声明一个游标--定义一个叫Cursor_temp的游标,存放FORSELECT后的数据DECLARECursor_tempCURSORFORSELECTId,CodeFROMTableName--打开一个游标OPENCursor_tempDECLARE@IDuniqueidentifier,@Codenvarchar(5......
  • 设置CITECT2018R2过程分析器游标的粗细和颜色
    这一篇在新浪博客发表过,这里再记录一遍,新浪博客地址CITECT2018R2过程分析器设置游标粗细和颜色_来自金沙江的小鱼_新浪博客(sina.com.cn)在前一个练习基础上设置一下游标的粗细和颜色,让其更加醒目。在过程分析器初始化脚本中设置游标位置添加后面设置游标粗细和颜色hCursor.w......
  • 018 学习笔记-- 实现二维表头统计(存储过程+游标+行转列+字符串截取)
    实现下图类似效果统计 数据库设计如下  存储过程如下所示:USE[DBTEST]GO/******Object:StoredProcedure[dbo].[GetData]ScriptDate:2023-09-0116:56:01******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERproc[dbo].[GetData]asdeclare......
  • SQL Server游标
    文章来源:SQLServer游标-张龙豪-博客园(cnblogs.com) --5.利用游标更新删除数据---游标更新删除当前数据---1.声明游标declareorderNum_03_cursorcursorscrollforselectOrderId,userIdfrombigorderwhereorderNum='ZEORD003402'--2.打开游标openorder......
  • Sql Server -游标2
    1.创建一个单字段游标stfidgodeclarecs_stfidscrollcursorforselectstfidfromstaff --scroll定义滚动游标2.打开游标open cs_stfid3.提取游标第一行数据fetchfirstfromcs_stfid4.获取游标数据集行数select@@currsor_rows 5.获取提取状态select@@fetch......
  • openGauss学习笔记-38 openGauss 高级数据管理-游标
    openGauss学习笔记-38openGauss高级数据管理-游标为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。38.1语法格式定义游标CURSORcursor_name[BINARY][NOSCROLL]......
  • 游标与解析(硬、软、软软)
    Cursor直译过来就是“游标”,它是Oracle数据库中SQL解析和执行的载体。Oracle数据库使用C语言写的,所以从本质上来说,可以将Cursor理解成C语言中的一种结构。Oracle数据库中Cursor分为两种类型:一种是SharedCursor;另一种是SesssionCursor一、sharedcursorOracle数据库中的SharedCur......
  • mysql 可以给临时表创建游标吗
    MySQL可以给临时表创建游标吗?在MySQL中,临时表是一种特殊的表,它们只在当前会话中可见,并在会话结束后自动删除。临时表提供了一个方便且高效的方法来存储和处理临时数据。那么,对于临时表来说,能否创建游标呢?本文将探讨这个问题,并给出相应的代码示例。游标概述游标是一种数据库对象......