当前位置:  数据库>oracle

Oracle隐式游标获取记录数

    来源: 互联网  发布时间:2017-04-02

    本文导语: 怎样统计PLSQL语言中删除语句执行之后一共删除了多少条纪录。 Oracle使用两种光标:显式光标和隐式光标。不管语句返回多少条纪录,PL/SQL为使用的每一条UPDATE、DELETE和INSERT等SQL命令隐式的声明一个光标。(要管理SQL语句的处理...

怎样统计PLSQL语言中删除语句执行之后一共删除了多少条纪录。

Oracle使用两种光标:显式光标和隐式光标。不管语句返回多少条纪录,PL/SQL为使用的每一条UPDATE、DELETE和INSERT等SQL命令隐式的声明一个光标。(要管理SQL语句的处理,必须隐式的给它定义一个光标。)

在PL/SQL中,当执行DML语句的时候,会自动打开一个隐式游标(游标就类似JDBC中的ResultSet),而相关要被操作的数据都是会先被放入隐式游标。隐式游标由ORACLE帮我们自动管理,如果想要手动进行一些操作的话,我们可以使用隐式游标的相关属性。如:

SQL%FOUND 成功获取记录返回true,否则返回false

SQL%NOTFOUND 成功获取记录返回true,否则返回false

SQL%ROWCOUNT 返回从游标中获取的记录条数

SQL%ISOPEN 总是返回false

利用隐式游标属性SQL%ROWCOUNT可以达到计算删除了多少条纪录。

可以获取的DML sql包括:INSERT /UPDATE/DELETE /MERGER

具体使用看下面的例子把

create or replace procedure test_02 is
 CNT INT;
begin
  DELETE FROM TEST_01 ;
  cnt:=sql%rowcount;



  commit;
 end; 

create or replace procedure test_03 is
 CNT INT;
 n_1 int;
 n_2 int;
 n_3 int;
begin




 merge into test_04
 using (select * from test_09 )
 merger_subquery
 on(test_04.object_id = merger_subquery.object_id)
 
 when not matched then
 insert (object_id,OBJECT_NAME)
 values (merger_subquery.object_id,merger_subquery.object_name)
 when matched then
 update set object_name = merger_subquery.object_name;
   
  cnt:=sql%rowcount;
  n_1:=cnt;
  
  commit;
 end;















    
 
 

您可能感兴趣的文章:

  • oracle的最大游标数问题
  • Oracle事务!使用游标提交过程
  • Oracle 数据 使用游标
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • jsp访问oracle超出打开游标的最大数是什么原因?急,在线给分。
  • 在Oracle PL/SQL中游标声明中表名动态变化的方法
  • oracle 声明游标(不具备字段)规则应用
  • Oracle存储过程返回游标实例详解
  • oracle 在一个存储过程中调用另一个返回游标的存储过程
  • Oracle 游标使用总结
  • 如何获取Linux下的Oracle
  • shell如何获取oracle错误码 在线等
  • Oracle存储过程如何返回一个结果集&如何获取
  • 求教:shell 脚本怎么获取ORACLE存储过程的返回值?
  • 如何获取Linux及Oracle版本信息
  • 如何获取java连接oracle的驱动?
  • Oracle最大日期获取方法
  • Oracle parameter可能值获取方法
  • oracle获取当前用户表、字段等详细信息SQL
  • Oracle 查询表信息获取表字段及字段注释
  • Oracle 获取上周一到周末日期的查询sql语句
  • 随机获取oracle数据库中的任意一行数据(rownum)示例介绍
  • Linux下Oracle获取Shell
  • Oracle存储过程之数据库中获取数据实例
  • oracle获取上一旬的开始时间和结束时间的实现函数
  • oracle 使用sql获取数据库表、表的字段的多种方法
  • Oracle中获取执行计划的几种方法分析
  • 入侵Oracle服务器进一步获取权限
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 从jsp想oracle插入记录的顺序问题
  • 紧急求救:为什么oracle只能选择一定数据的记录
  • 记录Linux下一次oracle启动错误
  • ejb的bmp向oracle表插入图片记录的问题!
  • 请问怎么用jsp语句删除oracle中的一条记录?
  • 给200分:oracle的jdbc有BUG??为何在servlet中记录数不能超过120条?
  • 关于JDBC访问Oracle返回数据集的记录限制的问题
  • Oracle 如何快速查找和删除重复记录
  • Oracle 当前用户下所有表的记录总数
  • Oracle中用Rowid查找和删除重复记录
  • 如何确定Oracle数据库表重复的记录
  • shell向oracle插记录 小问题送分了,谢谢
  • oracle 使用sql获取数据库表、表的字段的多种方法 iis7站长之家
  • Oracle数据库设置任务计划备份一周的备份记录
  • Linux(Oracle系统在上面)系统无缘无故死机 , 可能是由于应用程序引起 , 可是由于重新启动查不到相关信息 , 不知道在哪里有记录系统CPU Lo
  • MySQL数据迁移到Oracle记录
  • Oracle中取固定记录数详细步骤
  • Oracle基本操作全记录
  • SQL查询前10条记录(SqlServer/mysql/oracle)的语法分析
  • 在oracle下要在同一事务下插入多条记录,该怎么做??最好要有原代码
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3