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 ...
随机推荐
- Linux-0.11内核源代码分析系列:内存管理get_free_page()函数分析
Linux-0.11内存管理模块是源码中比較难以理解的部分,如今把笔者个人的理解发表 先发Linux-0.11内核内存管理get_free_page()函数分析 有时间再写其它函数或者文件的:) /* ...
- ASCII码表完整版
ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0 NUT 32 (space) 64 @ 96 . 1 SOH 33 ! 65 A 97 a ...
- php 添加 redis 扩展模块
由于PHP源码中并未有redis的文件,所以需要自己下载. 下载地址: http://pecl.php.net/get/redis-2.2.5.tgz [root@study package]# ta ...
- ExtJs4.0入门错误
当在eclipse中的web工程中增加了extjs4,出现An internal error occurred during: "Building workspace". Java ...
- iOS中通知的添加和移除
我们都知道viewWillAppear:方法是在控制器的view将要显示的时候调用的,而viewWillDisappear:方法是在控制器的view将要隐藏的时候调用.很多时候我们根据自身需要将相关代 ...
- RTMP流媒体播放过程(转)
http://blog.csdn.net/leixiaohua1020/article/details/11704355 本文描述了从打开一个RTMP流媒体到视音频数据开始播放的全过程. 注意:RTM ...
- oracle数据库管理--用户管理
一.oracle数据库用户管理 1.sys和system用户区别 (1)存储的数据的重要性不同: sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于or ...
- node 通过指令创建一个package.json文件及npm安装package.json
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license项的 ...
- 【ecos学习5】redboot 加载运行hello world
背景: 从主机 192.168.2.14 IP,下载bin文件hello到ecos. redboot>load -v -h 192.168.2.14 hello Using default pr ...
- 【Python备忘】python判断文件和文件夹是否存在
python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...