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 ...
随机推荐
- 启动tomcat后struts框架报异常严重: Exception starting filter struts2 Unable to load configuration. - Class: java.net.PlainSocketImpl
今天刚好宿舍断网,打开电脑,打开ide工具,启动tomcat后,访问web项目工程,页面显示404,查看控制台,运行报错信息如下: 严重: Exception starting filter stru ...
- SQL-LINQ-Lambda 语法对照
SQL LINQ Lambda SELECT *FROM Employees from e in Employees select e Employees .Select (e => e) ...
- mvc 笔记
@{ ViewBag.Title = "主页"; } <div> 这里就是渲染Body啦.~~不需要写神马<asp:Content />,其实因为Rende ...
- 背包问题递归java
public boolean PackageProblem(int[] arr,int start,int targetLeft,int target) { if(arr.length==0) { S ...
- 终极解法According to TLD or attribute directive in tag file, attribute select does not accept any expressions
3天硬是是把这个问题解决了 有时候突然上个厕所灵感就来了 第一次向用JSTL解析xml 然后我想遍历整个xml文档打印出来 居然不让我输入变量 那让我怎么办啊 在网上各种找答案 说什么<%@ t ...
- 在sql server中怎样获得正在执行的Sql查询
方法1:使用DBCC inputbuffer(spid) 使用SP_WHO获得SPID,然后再执行上面的DBCC command,参见下图 执行一段sql语句 打开另一个query窗口并执行SP_WH ...
- rpm方式安装MySQL-5.6
1. 卸载系统原有的mysql-libs rpm -e [name] --nodeps 2. 安装MySQL rpm -ivh MySQL-server-XXXXXX rpm -ivh MySQL-c ...
- Java API设计CheckList
API设计原则:正确.好名.易用.易学.够快.够小.但我们从来不缺原则,〜〜〜 Interface 1.The Importance of Being Use Case Oriented,一个接口应当 ...
- php isset — 检测变量是否设置 foreach循环运用
例子 $a = 336 ; $b = 33 ; function large($x,$y){ if((!isset($x))||(!isset($y))){ // echo "this fu ...
- Git for PyCharm
Git for PyCharm Using PyCharm's Git integration locally:http://confluence.jetbrains.com/display/PYH/ ...