首页
学习
活动
专区
圈层
工具
发布

【SQL 基础】游标(curosr)

显式的游标:(显式定义一个游标) EXEC SQL DECLARE SEL_CURS CURSOR FOR...隐式的游标:(没有明确定义游标,但会由内部自动生成一个游标) EXEC SQL INSERT...一般Oracle在执行SQL时会自动地分配和释放游标。 Oracle中的游标从大类别上还可以分为私有游标(private cursor)和共享游标(shared cursor)。...(Server端) 对于游标的总体概况,可以参考下图。 ? 本文主要介绍Oracle数据库中游标相关内容。 SQL文执行和游标 以下是SQL语句的大概处理流程: 客户端应用程序: 0....from v$open_cursor c, v$sql sql where c.sql_id=sql.sql_id ; 共享游标(shared cursor) 共享游标(shared cursor...v$sql :保存的是子游标的sql的信息;列CHILD_NUMBER,表示子游标的编号。

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    BI-SQL丨游标

    图片游标游标这个概念在SQL中比较重要,在其他语言中也有类似的处理办法。那么什么是游标呢?...简而言之,SQL语句返回的结果通常为数据集,而游标可以在此基础上,像一个指针一样,对某些行结果进行处理,换成PowerBI中的概念有点像迭代遍历。...使用步骤1.声明游标:定义游标的名称、类型、属性。2.打开游标:执行SQL语句,准备对游标进行操作。3.读取游标:从结果集检索,进行逐行操作。4.关闭游标:将游标进行关闭,可以使用Open再次打开。...5.释放游标:删除缓存并释放游标的占用资源。...FETCH_STATUS返回值描述0FETCH命令执行成功1FETCH命令执行失败或数据超过游标数据结果集范围2所读取数据不存在例子4:关闭并释放游标。

    77030

    SQL Server 2012学习笔记 (七) ------ SQL Server 游标

    1、游标的概述   一个完整的游标由5部分组成,并且这5个部分应符合下面的顺序。 (1)声明游标。 (2)打开游标。 (3)从一个游标中查找信息。...(4)关闭游标。 (5)释放游标。 SQL Server提供了4种类型的游标: 1. 静态游标   静态游标的完整结果集在游标打开时建立在tempdb中。...2.动态游标   动态游标与静态游标相对。当滚动游标时,动态游标反映结果集中所做的所有更改。结果集中的行数据值、顺序和成员在每次提取时都会改变。...2、游标的基本操作   1.声明游标     可以使用DECLARE CURSOR声明有游标。   2.打开游标     可以使用OPEN命令声明游标。   ...5.释放游标     可以使用DEALLOCATE释放游标。

    3.4K50

    PLSQL -->隐式游标(SQL%FOUND)

    /SQL中,游标的使用分为两种,一种是显示游标,一种是隐式游标,显示游标的使用需要事先使用declare来进行声明,其过程包括 声明游标,打开游标,从游标提取数据,关闭游标。...有关显示游标的使用,请参考:PL/SQL --> 游标 一、隐式游标的定义及其属性 定义 隐式游标则由则由系统自动定义,非显示定义游标的DML语句即被赋予隐式游标属性。...隐式游标 的名称是SQL,不能对SQL游标显式地执行OPEN,FETCH,CLOSE语句。...属性 类似于显示游标,隐式游标同样具有四种属性,只不过隐式游标以SQL%开头,而显示游标以Cursor_name%开头 通过SQL%总是只能访问前一个DML操作或单行SELECT操作的游标属性,用于判断...code is executed successful PL/SQL procedure successfully completed 2.SQL游标的综合应用(根据SQL游标的不同属性返回不同的结果

    2K30

    Library Cache优化与SQL游标

    1 SQL语句与父游标及子游标 在PL/SQL中,游标(Cursor)是数据集遍历的内存集合。而从广义上讲, 游标是SQL语句在Library Cache中的内存载体。...图2-2 SQL语句与游标 SQL语句通过SQL_ID唯一标识父游标,如下所示: 从上述示例可以看出,SQL语句使用SQL_ID唯一标识父游标(V$SQLAREA),同时该SQL语句仅包含一父游标和一个子游标...不同的SQL语句的父游标也不同,如下所示: 可以看出,2个不同SQL语句对应的SQL_ID也不相同,产生了不同的父游标。 小提示 当SQL语句父游标不相同,其对应的子游标也肯定不同。...2 父游标 1父游标特点 父游标的主要特点如下: q 父游标是由SQL语句决定; q 父游标使用SQL语句的SQL_ID唯一标识; q 父游标包含一到多个子游标; q 父游标与参数cursor_sharing...V$SQL主要特点有: V$SQL中一条记录代表一个子游标。如下所示: 可以看到,一个SQL_ID(父游标)包含了多条记录,每条记录代表一个子游标。 V$SQL包含了父游标和子游标信息。

    1.1K50

    SQL游标的使用与语法

    begin –update [spt_values] set [name]=@name+’1′  –where [number]=@number+1           –进行相应处理(跟据需要填入SQL.../lejuo/archive/2008/11/12/3279340.aspx 可百度 SQL游标语法及举例 进行更深入学习 游标的定义: 每一个游标必须有四个组成部分这四个关键部分必须符合下面的顺序; ...1.DECLARE 游标  2.OPEN 游标  3.从一个游标中FETCH 信息  4.CLOSE 或DEALLOCATE 游标  通常我们使用DECLARE 来声明一个游标声明一个游标主要包括以下主要内容...INSENSITIVE  表明MS SQL SERVER 会将游标定义所选取出来的数据记录存放在一临时表内(建立在tempdb 数据库下)。对该游标的读取操作皆由临时表来应答。...因此,对基本表的修改并不影响游标提取的数据,即游标不会随着基本表内容的改变而改变,同时也无法通过  游标来更新基本表。如果不使用该保留字,那么对基本表的更新、删除都会反映到游标中。

    1.8K10

    父游标、子游标及共享游标

    共享游标的概念易于与SQL语句中定义的游标相混淆。...也即是共享游标,是SQL语句在游标解析阶段生成获得的,是位于library cache中的sql或匿名的pl/sql等。...游标将逐条取出查询的记录,直到取完所有记录)            关闭游标(释放UGA中该游标占有的相关资源,但Library Cache中的游标的执行计划按LRU原则清除,为其游标共享提供可能性)...即一条SQL语句实际上就是一个游标,只不过session cursor分为显示游标和隐式游标,以及游标指针。...,如经常变动的SQL语句,或动态SQL或未使用绑定变量等         2、解决硬解析的办法则通常是使用绑定变量来解决         3、与父游标SQL文本完全一致的情形下,多个相同的SQL语句可以共享一个父游标

    2.2K30

    游标

    一:什么是游标 游标是可以在结果集中上下游动的指针 二:创建一个简单的游标 use xland go  --声明变量以后有用 declare @id int declare @title varchar...做个存储过程, 里面的游标是全局的, 存储过程内部没有关闭释放游标 代码如下 use xland go  create proc spCursorScope as declare @id int declare...,不释放内存 --close tablecursor --deallocate tablecursor 接着执行这个存储过程 执行语句如下 use xland go  exec spcursorscope...,释放内存 close tablecursor deallocate tablecursor 看执行结果 1         2       测试看看      xland 2         4      ...说明游标是全局的 但不建议这样使用游标 四:游标的滚动 next --移动到下一条记录 prior --移动到上一条记录 first  --移动到第一条记录 last  --移动到最后一条记录 看例子

    90130

    游标

    游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。尽管游标能遍历结果中的所有行,但他一次只指向一行。 ?...概括来讲,SQL的游标是一种临时的数据库对象,即可以用来存放在数据库表中的数据行副本,也可以指向存储在数据库中的数据行的指针。游标提供了在逐行的基础上操作表中数据的方法。...游标的一个常见用途就是保存查询结果,以便以后使用。游标的结果集是由SELECT语句产生,如果处理过程需要重复使用一个记录集,那么创建一次游标而重复使用若干次,比重复查询数据库要快的多。...-这是游标my_cursor的值,这里随便发挥看业务场景 打开游标 open my_cursor ----打开游标时,SELECT语句的查询结果就被传送到了游标工作区。...我这是又执行了一次查询 fetch next from my_cursor into @id,@name --获取下一条数据并赋值给变量 关闭游标 end--关闭释放游标 close my_cursor

    1K30

    SQL Server基础:T-SQL编程、游标、存储过程创建与信息查找

    本文介绍基于Microsoft SQL Server软件,实现数据库T-SQL语言程序设计,以及游标的定义、使用与存储过程的创建、信息查找的方法。   ...“附加”选项; (3) 选择需要加以附加的jxsk数据库物理文件,选择定位文件夹“G:\sql\chutianjia sql”并选择对应数据库jxsk的物理文件并选择“确定”按钮,再次选择“确定”即可;...语句,如下图; (7) 在“对象资源管理器”中选择“数据库”→“jxsk”→“表”→“dbo.T”,右击并在弹出的窗口中选择“编辑前200行”;查看各教师的工资情况已发生变化,如下图; 5 使用游标——...定义游标Cursor_Famale (1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句: DECLARE @SNO CHAR...; (4) 对数据库表S中信息加以修改,增添学生“牛莉”的信息后,单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图; 6 使用游标——创建存储过程Pro_C查找信息 (1) 单击屏幕上方

    2.3K10

    Oracle的静态游标与动态游标

    定义: TYPE 游标别名 IS REF CURSOR; 游标名 游标别名; 调用时: open 游标名 for 动态SQL语句; loop exit when 游标名%NOTFOUND;...解决思路 这个查询我们就可以用到静态游标和动态游标的结合使用。 通过静态游标设置开始和结果日期获取到所涉及到的当前年月。 根据获取到的当前年月生成要查询对应的月份分割表的动态SQL语句。...根据输入的日期通过静态游标生成对应的动态SQL语句。...vs_sSql是我们的动态字符串,把主表查询先加进来,然后根据输入的开始和结束日期找到对应的月份分割表,然后判断表是否存在,如果存在的话就用union all把分割表加入到动态SQL语句里 ---- ?...通过动态sql语句使用动态游标遍历销售进行数据的更新。

    3.6K30
    领券