Oracle中游标Cursor介绍

Oracle 游标详解(cursor) 文章目录1 概述1.1 思维导图2 语法2.1 基本写法(4步)2.2 游标4大属性3 分类3.1 静态游标3.1.1 隐式游标 dml3.1.2 显式游标 cursor3.2 动态游标3.2.1 自定义类型 ref cursor3.2.2 系统类型 sys_refcursor4 扩展4.1 三种游标循环效率对比4.2 实例:实际开发中,游标遍历数据 1 概述 1. 游标是什么? 用来存储多条查询数据的一种数据结构('结果集'), 它有一个 '指针',从上往下移动('fetch'),从而能够 ' 阅读详情

转自:http://zohan.group.iteye.com/group/wiki/2278-cursor

Oracle中游标Cursor介绍

一  概念
游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。
二  类型
  Cursor类型包含三种: 隐式Cursor,显式Cursor和Ref Cursor(动态Cursor)。
1. 隐式Cursor:
1).对于Select …INTO…语句,一次只能从数据库中获取到一条数据,对于这种类型的DML Sql语句,就是隐式Cursor。例如:Select /Update / Insert/Delete操作。
2)作用:可以通过隐式Cusor的属性来了解操作的状态和结果,从而达到流程的控制。Cursor的属性包含:
SQL%ROWCOUNT 整型 代表DML语句成功执行的数据行数
SQL%FOUND  布尔型  值为TRUE代表插入、删除、更新或单行查询操作成功
SQL%NOTFOUND 布尔型 与SQL%FOUND属性返回值相反
SQL%ISOPEN 布尔型 DML执行过程中为真,结束后为假
3) 隐式Cursor是系统自动打开和关闭Cursor.
下面是一个Sample:

Sql代码 :
Set Serveroutput on;

begin
    update t_contract_master set liability_state = 1 where policy_code = '123456789';
    
    if SQL%Found then
       dbms_output.put_line('the Policy is updated successfully.');
       commit;
    else
      dbms_output.put_line('the policy is updated failed.');
    end if;

end;

/

Set Serveroutput on;

begin
    update t_contract_master set liability_state = 1 where policy_code = '123456789';
    
    if SQL%Found then
       dbms_output.put_line('the Policy is updated successfully.');
       commit;
    else
      dbms_output.put_line('the policy is updated failed.');
    end if;

end;

/

在PL/SQL中run:
Sql代码 :
SQL> 
 
the policy is updated failed.
 
PL/SQL procedure successfully completed

2. 显式Cursor:
(1) 对于从数据库中提取多行数据,就需要使用显式Cursor。显式Cursor的属性包含:
游标的属性   返回值类型   意    义 
%ROWCOUNT   整型  获得FETCH语句返回的数据行数 
%FOUND  布尔型 最近的FETCH语句返回一行数据则为真,否则为假 
%NOTFOUND   布尔型 与%FOUND属性返回值相反 
%ISOPEN 布尔型 游标已经打开时值为真,否则为假 

(2) 对于显式游标的运用分为四个步骤:
 定义游标---Cursor  [Cursor Name]  IS;
 打开游标---Open  [Cursor Name];
 操作数据---Fetch  [Cursor name]
 关闭游标---Close [Cursor Name],这个Step绝对不可以遗漏。
(3)以下是三种常见显式Cursor用法。
1)
Sql代码 :
Set serveroutput on;

declare 
    ---define Cursor
    Cursor cur_policy is
     select cm.policy_code, cm.applicant_id, cm.period_prem,cm.bank_code,cm.bank_account
     from t_contract_master cm
     where cm.liability_state = 2
     and cm.policy_type = 1
     and cm.policy_cate in ('2','3','4')
     and rownum < 5
     order by cm.policy_code desc;
    curPolicyInfo cur_policy%rowtype;---定义游标变量
Begin
   open cur_policy; ---open cursor
   Loop 
     --deal with extraction data from DB
     Fetch cur_policy into curPolicyInfo;
     Exit when cur_policy%notfound;
         
     Dbms_Output.put_line(curPolicyInfo.policy_code);
   end loop;
   Exception 
     when others then
         close cur_policy;
         Dbms_Output.put_line(Sqlerrm);
         
   if cur_policy%isopen then  
	--close cursor 
      close cur_policy;
   end if;
end;

/

Set serveroutput on;

declare 
    ---define Cursor
    Cursor cur_policy is
     select cm.policy_code, cm.applicant_id, cm.period_prem,cm.bank_code,cm.bank_account
     from t_contract_master cm
     where cm.liability_state = 2
     and cm.policy_type = 1
     and cm.policy_cate in ('2','3','4')
     and rownum < 5
     order by cm.policy_code desc;
    curPolicyInfo cur_policy%rowtype;---定义游标变量
Begin
   open cur_policy; ---open cursor
   Loop 
     --deal with extraction data from DB
     Fetch cur_policy into curPolicyInfo;
     Exit when cur_policy%notfound;
         
     Dbms_Output.put_line(curPolicyInfo.policy_code);
   end loop;
   Exception 
     when others then
         close cur_policy;
         Dbms_Output.put_line(Sqlerrm);
         
   if cur_policy%isopen then  
	--close cursor 
      close cur_policy;
   end if;
end;

/


2)
Sql代码 :
Set serveroutput on;

declare 
    Cursor cur_policy is
     select cm.policy_code, cm.applicant_id, cm.period_prem,cm.bank_code,cm.bank_account
     from t_contract_master cm
     where cm.liability_state = 2
     and cm.policy_type = 1
     and cm.policy_cate in ('2','3','4')
     and rownum < 5
     order by cm.policy_code desc;
     v_policyCode t_contract_master.policy_code%type;
     v_applicantId t_contract_master.applicant_id%type;
     v_periodPrem t_contract_master.period_prem%type;
     v_bankCode t_contract_master.bank_code%type;
     v_bankAccount t_contract_master.bank_account%type;
Begin
   open cur_policy;
   Loop 
     Fetch cur_policy into v_policyCode,
                           v_applicantId,
                           v_periodPrem,
                           v_bankCode,
                           v_bankAccount;
     Exit when cur_policy%notfound;
         
     Dbms_Output.put_line(v_policyCode);
   end loop;
   Exception 
     when others then
         close cur_policy;
         Dbms_Output.put_line(Sqlerrm);
         
   if cur_policy%isopen then   
      close cur_policy;
   end if;
end;
/
Set serveroutput on;

declare 
    Cursor cur_policy is
     select cm.policy_code, cm.applicant_id, cm.period_prem,cm.bank_code,cm.bank_account
     from t_contract_master cm
     where cm.liability_state = 2
     and cm.policy_type = 1
     and cm.policy_cate in ('2','3','4')
     and rownum < 5
     order by cm.policy_code desc;
     v_policyCode t_contract_master.policy_code%type;
     v_applicantId t_contract_master.applicant_id%type;
     v_periodPrem t_contract_master.period_prem%type;
     v_bankCode t_contract_master.bank_code%type;
     v_bankAccount t_contract_master.bank_account%type;
Begin
   open cur_policy;
   Loop 
     Fetch cur_policy into v_policyCode,
                           v_applicantId,
                           v_periodPrem,
                           v_bankCode,
                           v_bankAccount;
     Exit when cur_policy%notfound;
         
     Dbms_Output.put_line(v_policyCode);
   end loop;
   Exception 
     when others then
         close cur_policy;
         Dbms_Output.put_line(Sqlerrm);
         
   if cur_policy%isopen then   
      close cur_policy;
   end if;
end;
/


3)
Sql代码:
Set serveroutput on;

declare 
    Cursor cur_policy is
     select cm.policy_code, cm.applicant_id, cm.period_prem,cm.bank_code,cm.bank_account
     from t_contract_master cm
     where cm.liability_state = 2
     and cm.policy_type = 1
     and cm.policy_cate in ('2','3','4')
     and rownum < 5
     order by cm.policy_code desc;
Begin
   For rec_Policy in cur_policy loop
       Dbms_Output.put_line(rec_policy.policy_code);
   end loop;
   Exception 
     when others then
         Dbms_Output.put_line(Sqlerrm);
         
end;

/

Set serveroutput on;

declare 
    Cursor cur_policy is
     select cm.policy_code, cm.applicant_id, cm.period_prem,cm.bank_code,cm.bank_account
     from t_contract_master cm
     where cm.liability_state = 2
     and cm.policy_type = 1
     and cm.policy_cate in ('2','3','4')
     and rownum < 5
     order by cm.policy_code desc;
Begin
   For rec_Policy in cur_policy loop
       Dbms_Output.put_line(rec_policy.policy_code);
   end loop;
   Exception 
     when others then
         Dbms_Output.put_line(Sqlerrm);
         
end;

/

run pl/sql,执行结果如下:
Sql代码 :
SQL> 
 
8780203932
8780203227
8780203218
8771289268
 
PL/SQL procedure successfully completed

SQL> 
 
8780203932
8780203227
8780203218
8771289268
 
PL/SQL procedure successfully completed

3. Ref Cursor(动态游标):
1) 与隐式Cursor,显式Cursor的区别:Ref Cursor是可以通过在运行期间传递参数来获取数据结果集。而另外两种Cursor,是静态的,在编译期间就决定数据结果集。
2) Ref cursor的使用:
 Type [Cursor type name] is ref cursor
 Define 动态的Sql语句
 Open cursor
 操作数据---Fetch  [Cursor name]
 Close Cursor
下面是一个Sample:
Sql代码 :
Set serveroutput on;

Declare
    ---define cursor type name
    type cur_type is ref cursor;
    cur_policy cur_type;
    sqlStr varchar2(500);
    rec_policy t_contract_master%rowtype;
begin
   ---define 动态Sql
   sqlStr := 'select cm.policy_code, cm.applicant_id, cm.period_prem,cm.bank_code,cm.bank_account from t_contract_master cm
     where cm.liability_state = 2 
     and cm.policy_type = 1 
     and cm.policy_cate in (2,3,4) 
     and rownum < 5 
     order by cm.policy_code desc ';
---Open Cursor
  open cur_policy for sqlStr;
  loop
       fetch cur_policy into rec_policy.policy_code, rec_policy.applicant_id, rec_policy.period_prem,rec_policy.bank_code,rec_policy.bank_account;
       exit when cur_policy%notfound;
       
       Dbms_Output.put_line('Policy_code:'||rec_policy.policy_code);
  
  end loop;
close cur_policy;    

end;
/

Set serveroutput on;

Declare
    ---define cursor type name
    type cur_type is ref cursor;
    cur_policy cur_type;
    sqlStr varchar2(500);
    rec_policy t_contract_master%rowtype;
begin
   ---define 动态Sql
   sqlStr := 'select cm.policy_code, cm.applicant_id, cm.period_prem,cm.bank_code,cm.bank_account from t_contract_master cm
     where cm.liability_state = 2 
     and cm.policy_type = 1 
     and cm.policy_cate in (2,3,4) 
     and rownum < 5 
     order by cm.policy_code desc ';
---Open Cursor
  open cur_policy for sqlStr;
  loop
       fetch cur_policy into rec_policy.policy_code, rec_policy.applicant_id, rec_policy.period_prem,rec_policy.bank_code,rec_policy.bank_account;
       exit when cur_policy%notfound;
       
       Dbms_Output.put_line('Policy_code:'||rec_policy.policy_code);
  
  end loop;
close cur_policy;    

end;
/


4.常见Exception
Sql代码 :
1.	错 误 名 称 错误代码    错 误 含 义   
2.	CURSOR_ALREADY_OPEN ORA_06511   试图打开已经打开的游标   
3.	INVALID_CURSOR  ORA_01001   试图使用没有打开的游标   
4.	DUP_VAL_ON_INDEX    ORA_00001   保存重复值到惟一索引约束的列中   
5.	ZERO_DIVIDE ORA_01476   发生除数为零的除法错误   
6.	INVALID_NUMBER  ORA_01722   试图对无效字符进行数值转换   
7.	ROWTYPE_MISMATCH    ORA_06504   主变量和游标的类型不兼容   
8.	VALUE_ERROR ORA_06502   转换、截断或算术运算发生错误   
9.	TOO_MANY_ROWS   ORA_01422   SELECT…INTO…语句返回多于一行的数据   
10.	NO_DATA_FOUND   ORA_01403   SELECT…INTO…语句没有数据返回   
11.	TIMEOUT_ON_RESOURCE ORA_00051   等待资源时发生超时错误   
12.	TRANSACTION_BACKED_OUT  ORA_00060   由于死锁,提交失败   
13.	STORAGE_ERROR   ORA_06500   发生内存错误   
14.	PROGRAM_ERROR   ORA_06501   发生PL/SQL内部错误   
15.	NOT_LOGGED_ON   ORA_01012   试图操作未连接的数据库   
16.	LOGIN_DENIED    ORA_01017   在连接时提供了无效用户名或口令  

oracle: 游标,父游标,子游标,游标相关视图 1       PL/SQL(Procedural language /SQL) PL/SQL是一种程序语言。 是过程化的SQL语言。Procedurallanguage /SQL 是oracle数据库对SQL语言的扩展。 在普通的SQL上增加了编程语言的特点。 可以把数据操作和查询语句组织在PL/SQL代码的过程性单元中,以实现复杂的功能   2       游标(cu 阅读详情

相关推荐

TensorRT(C++)部署 Pytorch模型

众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。

女神sha手的博客 5405

Oracle中游标(Cursor)介绍和使用

一 概念 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 二 类型 Cursor类型包含三种: 隐式Cursor,显式Cursor和Ref Cursor(动态Cursor)。 1. 隐式Cursor: 1).对于Select …INTO…语句,一次只能从数据库...

qq_34357018的博客 1万+

读书笔记|智能运维系统落地方案

对于互联网公司来说,系统复杂化导致的人工运维成本激增已经是普遍现象,采用智能运维是行之有效的应对策略。智能运维的核心思想是利用算法来处理海量运维数据,积累运维经验,从而代替人工思考判断,以自动化的过程实现风险的预防、发现、定位和处理。而智能运维系统是其中的重中之重,但建设企业应用智能运维系统,不是应用运维部独立规划设计就可以完成的,它需要业务、产品、开发、基础设施运维多部门协同才能顺利实施。 那么,作为运维人员,您是否了解智能运维系统的架构?如果参与规划建设智能运维系统,该怎么着手呢?下面我们立足实际需求

xiaoshuaca的博客 682

ORACLE 游标 cursor的基本用法

一、基本原理游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 二、游标的作用游标的作用就相当于指针,通过游标PL/SQL程序可以一次处理查询结果集中的一行,并可以对该行...

gwn0405的博客 1万+

【模拟电子设计实战】开源!基于Multisim与AD620的心电采集电路仿真与优化

本文详细介绍了基于Multisim与AD620的心电采集电路仿真与优化实战。通过分析心电信号采集的挑战,重点讲解了AD620仪表放大器和OP07运算放大器的选型优势及电路设计技巧,包括对抗50Hz工频干扰和基线漂移的优化方法。文章还分享了Multisim仿真参数设置与实测对比经验,最终实现性能达标的心电采集电路设计。

weixin_30555125的博客 95

Python调用CANoe

我们可以创建CANoe应用程序对象,打开配置文件,启动模拟,发送和接收消息,并在完成后关闭CANoe应用程序。这使得我们能够使用Python自动化执行测试任务,并集成CANoe的功能到我们的Python应用程序中。CANoe是一款功能强大的汽车网络仿真和测试工具,它能够模拟和分析汽车网络通信,并提供丰富的测试功能。通过Python编程语言,我们可以方便地调用CANoe的API,实现自动化测试和集成CANoe的功能到我们的Python应用程序中。在CANoe中,我们可以为不同的汽车网络创建配置文件。

AzqLinux的博客 1287

游标——Ref Cursor 用法

REF CURSOR Overview 1,什么是 REF游标 ?动态关联结果集的临时对象。即在运行的时候动态决定执行查询。2,REF 游标 有什么作用?实现在程序间传递结果集的功能,利用REF CURSOR也可以实现BULK SQL,从而提高SQL性能。 3,静态游标和REF 游标的区别是什么?①静态游标是静态定义,REF 游标是动态关联;②使用REF 游标需REF 游标变量。③REF ...

在路上 3131

ArcGIS JS 态势标绘教程:直箭头(Straight Arrow)

ArcGIS JS 态势标绘教程:直箭头(Straight Arrow)。

非科班Java出身GISer的博客 708

Oracle游标(Cursor)------------------数据的缓存区

一、游标的概念 光从字面上理解可以将游标(Cursor)形象地看成一个变动的光标。它实际上是一个指针,它在一段Oracle存放数据查询结果集或数据操作结果集的内存中,这个指针可以指向结果集中的任何一条记录。说到这很多小伙伴就会联想到编程语言里的数组,确实像极了,So很多知识是互通的。 二、游标的分类 Oracle中游标分为静态游标和REF游标,本文不对REF游标做介绍,感兴趣的小伙伴可...

wang7241的博客 1万+

HTML流光爱心(完整代码)

HTML语言实现红蓝色流光爱心效果的完整代码。

AIGC 1万+

【PCL 特征】积分图法线估计

本文介绍了基于积分图的有序点云法线估计方法。通过利用点云数据的行列式结构特性,该方法避免了传统KD树搜索,采用积分图将邻域统计运算复杂度从O(k²)降至O(1)。详细阐述了四种法线估计算法:协方差矩阵法(精度最高)、平均3D梯度法(实时性好)、平均深度变化法(适合SLAM)和简单3D梯度法(速度最快)。重点分析了积分图构建、动态窗口平滑处理、法线方向调整等关键技术,并提供了PCL实现代码示例。实验表明,不同方法在精度和速度上存在显著差异,可根据具体应用场景选择合适算法。

yijiujiusan的博客 276

oracle select 变量_Oracle中游标cursor的基本介绍和使用

oracle游标cursor的定义游标是由英文cursor直接翻译过来的,它的定义和理解其实很简单:游标cursor是SQL的内存工作区,由系统或用户定义为变量,就是一个临时的数据存储区域。游标cursor的作用是临时存储从数据库中提取的数据块。在某些情况下,需要将数据从磁盘上存储的表中传输到计算机的内存中进行处理,最后将显示处理结果或最终将其写回数据库。使用游标cursor将提高数据处...

weixin_39664746的博客 843

3. 动手运行第一个 SAP Fiori Elements 应用(ListReport 类型)

这个代理服务器能够自动监听我们 Fiori Elements 应用里向 ES5 Demo 系统发送的 OData 请求,拦截这个请求,并通过 Node.js 代码向 ES5 服务器转发,拿到响应数据后再交还给 Fiori Elements 应用。后者对自己发出的请求被代理这件事情一无所知。本文的任务是,大家按照我的介绍,在本地成功运行笔者准备的这个 Fiori Elements 应用。的错误消息, 说明大家安装的 Node.js 版本没有达到本地运行 Fiori Elements 的最低要求。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1671

cursor is oracle 日期_oracle中游标cursor的基本介绍和使用 - Break易站

oracle游标cursor的定义游标是由英文cursor直接翻译过来的,它的定义和理解其实很简单:游标cursor是SQL的内存工作区,由系统或用户定义为变量,就是一个临时的数据存储区域。游标cursor的作用是临时存储从数据库中提取的数据块。在某些情况下,需要将数据从磁盘上存储的表中传输到计算机的内存中进行处理,最后将显示处理结果或最终将其写回数据库。使用游标cursor将提高数据处理的速度,...

weixin_39719101的博客 460

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Oracle中游标Cursor的介绍

游标就是为了不频繁访问磁盘而存在的东西。 就好像redis一样,类似于一个缓存。 游标   定义游标—Cursor [Cursor Name] IS;   打开游标—Open [Cursor Name];   操作数据—Fetch [Cursor name] Set serveroutput on; declare ...

weixin_44474200的博客 432

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Oracle中Cursor游标介绍

关键字(概念 类型 异常处理)一  概念游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这

1217

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

oracle cursor 游标的介绍

理解含义: 游标用来处理从数据库中检索的多行记录(使用SELECT语句)。利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集。 为了处理SQL语句,Oracle将在内存中分配一个区域,这就是...

218

Oracle中游标(Cursor)介绍

关键字 概念 类型 异常处理 一 概念 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 二 类型 Cursor类型包含三...

tingyu_521的专栏 174

Oracle中cursor介绍:从显式游标到TaoToken统一API通道的配置实践

Oracle cursor 显式游标漏写 CLOSE 会报 ORA-01000,用 FOR 循环可自动关闭。本文从隐式、显式到 REF CURSOR 讲透机制,并延伸到 TaoToken 统一 API 通道配置,给出 settings.json 与 config.toml 骨架及 curl 验证步骤,官网见 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 。

Ceshi01的博客 14

Oracle中游标Cursor的用法详解

Oracle中游标Cursor的用法详解_oracle_脚本之家

weixin_35843253的博客 109

Oralce 详细介绍一下Cursor

在 SQL 中,查询语句通常会返回一个结果集,这个结果集可能包含多行数据。而游标提供了一种机制,允许你逐行遍历这个结果集,对每一行数据进行单独的处理。可以把游标想象成一个指向结果集中某一行的指针,通过移动这个指针,你可以访问结果集中的每一行数据。

小屁孩大帅-保密的博客 464

不是可以识别的 cursor 选项_理解Oracel游标CURSOR参数和相关视图V$OPEN_CURSOR

1主题理解游标CURSOR,OPEN_CURSORS参数以及视图V$OPEN_CURSOR, V$SESSION_CACHED_CURSOR2游标概念游标的作用就是用于临时存储从数据库中提取的数据块,由系统或用户以变量的形式定义。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。...

weixin_36053926的博客 1995

Oracle性能优化 之 游标及SQL

一、游标 我们要先说一下游标这个概念。 从Oracle数据库管理员的角度上说,游标是对存储在库缓存中的可执行对象的统称。SQL语句是存储在库缓存中的,它是游标。除了它之外,还有Oracle的存储过程也是存储在库缓存中的可执行对象,从OracleDBA的角度上说,它也是游标。Oracle也把它算为游标,在某些和游标相关的视图中,也会显示存储过程的一些信...

weixin_34132768的博客 519

Oracle 游标的使用——游标cursor 和 游标sys_refcursor 的使用

Oracle 游标的使用

Shipley_Leo的博客 1271

oracle sql 子游标_Oracle 父子游标

游标从Oracle数据库管理员的角度上说,游标是对存储在库缓存中的可执行对象的统称。SQL语句是存储在库缓存中的,它是游标。除了它之外,还有Oracle的存储过程也是存储在库缓存中的可执行对象,从Oracle DBA的角度上说,它也是游标。Oracle也把它算为游标,在某些和游标相关的视图中,也会显示存储过程的一些信息的。但从开发者的角度说,只有SQL语句才是游标。子游标与父游标。如果两个游标的文...

weixin_32760125的博客 443
上一篇: oracle数据分组排序
下一篇: ORACLE存储过程调用存储过程时commit的问题
staticabc
博客等级 码龄16年 6粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值