Oracle游标cursor1基础和隐式游标
--指向表行的指针,一次一行,一般向前移动 Resultset
--游标永远代代表的是一行数据。
/*
使用步骤
第一步:声明游标,就像是声明一个变量样。
游标的关键字就是cursor.
Declare
--游标关键字在前面
Cursor myCusor is select * from someTable;
Begin
//代码
End; 第二步:声明游标后并不能直接使用-打开游标
Declare
--游标关键字在前面
Cursor myCusor is select * from someTable;
Begin
Open myCursor;
End;
第三步:在遍历中,使用fetch遍历数据
Declare
--游标关键字在前面
Cursor myCusor is select * from someTable;
Begin
Open myCursor;
Loop
Fetch myCusor into 你声明的变量;
--加上一个判断,是否到了行了最后
Exit when myCursor%notfound;
End loop;
End;
第四步:关闭游标
Declare
--游标关键字在前面
Cursor myCusor is select * from someTable;
Begin
Open myCursor;
Loop
Fetch myCusor into 你声明的变量;
--加上一个判断,是否到了行了最后
Exit when myCursor%notfound;
End loop;
Close myCursor; - oracle默认情况下,最多只可以开15个游标。
End; */ /*
游标的分类
声明方式:
隐式游标
所有你在执行sql(CRUD)语句时,oracle都会默认的给你打开一个游标。
游标名称叫SQL
它包含以下属性:
ROWCOUNT – 这个查询或是修改的记录的数量。
Notfound没有发行现 显式游标
是指用户在declare中显式声明的游标。
动态的游标
*/
--隐式的游标
select * from EMP1;
/*
30
30
39
200*/
declare
v_count int;
v_found boolean;
begin
DELETE from emp1 where age=30;
--获取行号
v_count:=sql%rowcount;
if not sql%isopen then
SYS.DBMS_OUTPUT.PUT_LINE('xxxx数');
end if;
DBMS_OUTPUT.PUT_LINE('影响行数'||v_count);
end;
/*
匿名块已完成
xxxx数
影响行数2
*/
Oracle游标cursor1基础和隐式游标的更多相关文章
- PL/SQL -->隐式游标(SQL%FOUND)
PL/SQL -->隐式游标(SQL%FOUND) 分类: SQL/PLSQL 基础2010-12-22 16:23 4084人阅读 评论(0) 收藏 举报 sqlexceptionoracle ...
- PL/SQL — 隐式游标
一.隐式游标的定义及其属性 定义 隐式游标由系统自动定义,非显示定义游标的DML语句即被赋予隐式游标属性.其过程由oracle控制,完全自动化.隐式游标的名称是SQL,不能对SQL游标显式地执行OPE ...
- 【Oracle】PL/SQL 显式游标、隐式游标、动态游标
在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...
- ORACLE的显式游标与隐式游标
1)查询返回单行记录时→隐式游标: 2)查询返回多行记录并逐行进行处理时→显式游标 显式游标例子: DECLARE CURSOR CUR_EMP IS SELECT * FROM EMP; ROW_E ...
- oracle的隐式游标
游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理, ...
- Oracle异常处理内容,隐式游标
异常处理 create or replace procedure pr_test3(v_bh in varchar2,v_xx out t_hq_ryxx%rowtype) is begin sele ...
- Oracle pl/sql 显示游标和隐式游标
显示游标 一.定义语法: CURSOR <游标名> IS <SELECT 语句> [FOR UPDATE | FOR UPDATE ...
- Oracle 隐式游标 存储过程
--隐式游标 注意变量赋值用(:=) 连接符用(||)而不是加号(+) DECLARE v_pk T_PLAT_KEYWORD.ID%TYPE; --主键 v_amount_message T_PLA ...
- ORACLE中内部函数SYS_OP_C2C和隐式类型转换
什么是SYS_OP_C2C呢?官方的介绍如下: SYS_OP_C2C is an internal function which does an implicit conversion of varc ...
随机推荐
- 提交App,请求Apple加急审核
转载自:http://blog.csdn.net/showhilllee/article/details/19541493 提交完毕后进入加急审核页面. 链接:https://developer.ap ...
- java学习笔记day04
1.static关键字 特点:1)随着类的加载而加载 2)优先于对象存在 3)被所有对象所共享 4)可以直接被类名调用(类名.静态成员) 注意:静态方法只能 ...
- [生成树][Uva1395][Slim Span]
代码: #include <set> #include <queue> #include <cmath> #include <cstdio> #incl ...
- 找出数组中特定和数字下标(JAVA)
比如: 输入: numbers={2, 7, 11, 15}, target=9 输出: index1=1, index2=2 public class _003TwoSum { public sta ...
- C++程序设计实践指导1.7超长数列中n个数排序改写要求实现
改写要求1:将以上程序改写为适合超长整数 改写要求2:将以上程序改写为适合超长数列 改写要求3:将数列中指定位置m开始的n个结点重新按降序排序 改写要求4:输出指定位置m开始的n个结点的超长整数 #i ...
- [Effective Modern C++] Item 7. Distinguish between () and {} when creating objects - 辨别使用()与{}创建对象的差别
条款7 辨别使用()与{}创建对象的差别 基础知识 目前已知有如下的初始化方式: ); ; }; }; // the same as above 在以“=”初始化的过程中没有调用赋值运算,如下例所示: ...
- php variance
function variance ($a) { /** variable and initializations */ $the_variance = 0.0; $the_mean = 0.0; $ ...
- $ cd `dirname $0` 和PWD%/* shell变量的一些特殊用法
在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的.因为他返回当前路径的".". $0:当前Shell程序的文件名dirname $0,获取当前Shell程序 ...
- AdapterView及其子类之三:基于ListView及ArrayAdapter实现列表
见归档项目ListViewDemo.zip. 基本步骤如下: 1.创建主布局文件,里面包含一个ListView元素. <RelativeLayout xmlns:android="ht ...
- python运维开发(十二)----rabbitMQ、pymysql、SQLAlchemy
内容目录: rabbitMQ python操作mysql,pymysql模块 Python ORM框架,SQLAchemy模块 Paramiko 其他with上下文切换 rabbitMQ Rabbit ...