隐式游标:一次只能返回一行结果(不需要定义,默认自动建立)
  显式游标: 需要开发人员提前定义,可以通过循环的方式处理游标里的sql语句,返回多行结果
 
  隐式游标的属性:
   sql%rowcout    统计在游标中处理的记录数
   sql%found      如果在游标中能找到符合条件的一条记录,结果为true
   sql%notfound   如果在游标中能找不到符合条件的一条记录,结果为true
   sql%isopen     判断游标是否打开,在隐式游标中默认游标自动打开

1.隐式游标:

sql%notfound   如果在游标中能找不到符合条件的一条记录,结果为true
SQL> declare
2
3 v_id t1.id%type;
4
5 begin
6
7 v_id :=10;
8
9 update t1 set id=20 where id=v_id;
10 if sql%notfound then
11 insert into t1(id) values (v_id);
12 commit;
13 end if;
14 end;

2. sql%found      如果在游标中能找到符合条件的一条记录,结果为true

SQL> declare
2
3 v_id t1.id%type;
4
5 begin
6
7 v_id :=10;
8
9 delete from t1 where id = v_id;
10
11 if sql%found then
12 dbms_output.put_line('T1 recorder is delete !');
13 commit;
14 end if;
15 end;

3.sql%rowcout    统计在游标中处理的记录数

SQL> declare
2
3 v_id t1.id%type;
4
5 begin
6
7 v_id :=10;
8
9 insert into t1 (id) values (v_id);
10 delete from t1 where id = v_id;
11
12 if sql%found then
13 dbms_output.put_line('T1 recorder is delete !');
14 dbms_output.put_line('T1 recorders '||sql%rowcount||' rows was deleted !'); //统计删除的行数
15 commit;
16 end if;
17 end;

【PL/SQL练习】游标cursor :oracle 在执行sql语句时,为sql语句所分配的一个私有的内存区域的更多相关文章

  1. JS流程控制语句 做判断(if语句)if语句是基于条件成立才执行相应代码时使用的语句。语法:if(条件) { 条件成立时执行代码}

    做判断(if语句) if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位,如果 ...

  2. PL/SQL使用游标CURSOR

    一.使用游标 对于DML语句和单行select into ,oracle自动分配隐形游标.处理select返回多行语句,可以使用显式游标. 使用显示游标处理多行数据,也可使用SELECT..BULK ...

  3. Oracle 固定执行计划-使用SPM(Sql Plan Management)固定执行计划

    固定执行计划-使用SPM(Sql Plan Management)固定执行计划 转载自:http://www.lunar2013.com/2016/01/固定执行计划-使用spm%EF%BC%88sq ...

  4. PL/SQL 04 游标 cursor

    --游标 declare  cursor 游标名字  is  查询语句;begin  其他语句;end; --游标的属性%FOUND%NOTFOUND%ISOPEN%ROWCOUNT(当前游标的指针位 ...

  5. 学习使用MS SQL Server游标(CURSOR)

    说实的,使用MS SQL Server这样久,游标一直没有使用过.以前实现相似的功能,都是使用WHILE循环加临时表来实现.刚才有参考网上示例练习写了一下.了解到游标概念与语法. 下面代码示例中,先是 ...

  6. PL/SQL编程—游标

    一.游标的相关概念: 定义: 游标它是一个服务器端的存储区,这个区域提供给用户使用,在这个区域里 存储的是用户通过一个查询语句得到的结果集,用户通过控制这个游标区域当中 的指针 来提取游标中的数据,然 ...

  7. Oracle自动执行任务(存储过程)

    Oracle自动执行任务(存储过程) SQL> variable job number;SQL> begin2 dbms_job.submit(:job,'存储过程名;',sysdate, ...

  8. 查看Oracle正在执行的任务

    select a.program, b.spid, c.sql_text,c.SQL_ID from v$session a, v$process b, v$sqlarea c where a.pad ...

  9. 【SQL Server数据迁移】64位的机器:SQL Server中查询ORACLE的数据

    从SQL Server中查询ORACLE中的数据,可以在SQL Server中创建到ORACLE的链接服务器来实现的,但是根据32位 .64位的机器和软件, 需要用不同的驱动程序来实现. 在64位的机 ...

随机推荐

  1. HashMap 实现原理(复习)

    1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1 ...

  2. DBA_Oracle Erp重启Database/Application/Concurrent/Apache(案例)

    2014-12-27 Created By BaoXinjian

  3. NeHe OpenGL教程 第二课:多边形

    前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢 ...

  4. webView--总结

    Anaroid WebView API详解--http://blog.csdn.net/zhangcanyan/article/details/51344090;Android5.1系统WebView ...

  5. Good Sentences

    Wine in, truth out One is never too old to learn What is done can not be undone Time tries all thing ...

  6. MD5加密Java实现

    package cn.mldn.util; public class MD5Code { /* * 下面这些S11-S44实际上是一个4*4的矩阵,在原始的C实现中是用#define 实现的, 这里把 ...

  7. bootstrap与jqueryui按钮冲突的解决

    bootstrap与jqueryui按钮冲突的解决 (2013-10-15 14:09:36)转载▼ 标签: 情感 分类: jQuery 参考: http://getbootstrap.com/jav ...

  8. Java 线程间通讯(管道流方式)

    一.管道流是JAVA中线程通讯的常用方式之一,基本流程如下: 1)创建管道输出流PipedOutputStream pos和管道输入流PipedInputStream pis 2)将pos和pis匹配 ...

  9. ubuntu 永久设置dns信息

    ubuntu 自从12.04后,会自动刷写 /etc/resolv.conf 文件,导致写入的dns信息会在重启的时候丢失. ============================ 转自:http: ...

  10. golang.org/x/mobile/exp/gl/glutil/glimage.go 源码分析

    看这篇之前,建议先看之前几篇,这几篇是基础. Go Mobile 例子 basic 源码分析 http://www.cnblogs.com/ghj1976/p/5183199.html OpenGL ...