关于选用何种游标?
显示游标分为:普通游标,参数化游标和游标变量三种。
游标循环策略 :分三种循环:loop,while,for
例子:
create or replace procedure proccycle(p varchar2)
as
cursor c_postype is select pos_type, description from pos_type_tbl where rownum < 6;
v_postype varchar2(20);
v_description varchar2(50);
begin
open c_postype;
if c_postype%found then
dbms_output.put_line('found true');
elsif c_postype%found = false then
dbms_output.put_line('found false');
else
dbms_output.put_line('found null');
end if;
loop
fetch c_postype into v_postype,v_description ;
exit when c_postype%notfound;
dbms_output.put_line('postype:'||v_postype||',description:'||v_description);
end loop;
close c_postype;
dbms_output.put_line('---loop end---');
open c_postype;
fetch c_postype into v_postype,v_description;
while c_postype%found loop
dbms_output.put_line('postype:'||v_postype||',description:'||v_description);
fetch c_postype into v_postype,v_description ;
end loop;
close c_postype;
dbms_output.put_line('---while end---');
for v_pos in c_postype loop
v_postype := v_pos.pos_type;
v_description := v_pos.description;
dbms_output.put_line('postype:'||v_postype||',description:'||v_description);
end loop;
dbms_output.put_line('---for end---');
end;
备注:
1、使用游标之前需要开打游标,open cursor,循环完后再关闭游标close cursor.
2、在打开一个游标之后,马上检查它的%found或%notfound属性,它得到的结果即不是true也不是false.而是null.必须执行一条fetch语句后,这些属性才有值。
分享到:
相关推荐
T100ERP调用ORACLE 数据库存储过程(返回值为游标类型)处理为JSON和数组方法
Oracle数据库存储过程触发器包是使用事例,可以说经典
使用游标更新数据库 使用游标更新数据库是指在游标定位下,修改或删除表中指定的数据行。使用游标对数据进行更新可以提高数据库的性能和效率。 1. 游标更新的基本概念 游标是数据库中的一种数据结构,它可以用来...
Oracle12c数据库基础教程Oracle12c数据库游标、存储过程和触发器.pptx
第一章 oracle存储过程概述 2 1.1 存储过程基本结构(PROCEDURE) 3 1.1.1创建存储过程 3 1.1.2 存储过程删除 5 1.1.3 调用存储过程 5 1.2存储函数(FUNCTIONE) 6 1.2.1 创建存储函数 6 1.2.2 删除存储函数 7 1.3 包...
oracle数据库 游标、存储过程和触发器
oracle数据库存储过程相关知识简介,存储过程创建语法讲解,包括判断语句、循环、数组遍历、游标使用,后附实例
oracle数据库存储的语法,使用方法,定义变量,申明变量,游标以及完整的范例,仅供大家参考学习,谢谢大家
oracle数据库忽然连不上了,一查是游标数量超了。 1.查看游标数 show parameter open_cursors 2.修改游标数 alter system set open_cursors = 10000; 3.获取打开的游标数 select o.sid, osuser, machine, count...
oracle 存储过程批量提交
详细介绍了oracle数据库,从表空间的创建到存储过程、游标的使用等内容,通过阅读这篇文档能够让各位对oracle数据库有个深入的理解和掌握
学生信息管理系统Oracle数据库
Oracle 存储过程编译是指在 Oracle 数据库中编译存储过程的过程。存储过程是一种预编译的 SQL 语句集合,用于实现特定的业务逻辑。编译存储过程是将其转换为机器代码,以提高执行速度和效率。 在本例中,我们将讨论...
* Oracle 数据库的存储结构:数据文件、控制文件、日志文件 ### 4. 第四讲:表的设计、创建及维护 * 表的设计原则和方法 * 表的创建和修改 * 表的维护和优化 ### 5. 第五讲:数据完整性与约束 * 数据完整性的...
一份完整的数据库系统设计报告,设计的是家庭医疗信息系统。有完整的代码截图,和数据文件。是学校要求的期末大作业。还设计了存储函数,游标,触发器,和存储过程等各种功能
本实验五 - 存储过程与触发器旨在掌握 Oracle 数据库编程语言 PL/SQL 的基础知识,掌握游标的四个使用步骤,掌握触发器的原理,学会定义触发器,以及掌握存储过程的定义方法和执行方法。通过本实验,我们可以更好地...
游标是SQL的一个内存工作区,由系统或用户以...游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。
如下存储过程使用游标遍历所有数据: CREATE OR REPLACE PROCEDURE "CFFTEST"."SELECT_STUDENT"("id" IN INT) AS myId int; myName varchar(50); cursor myCursor is select id, name from cfftest.student; ...
oracle数据库的相关知识,包含dml dql,索引,视图,游标,存储过程等
oracle数据库的优化 数据库的优化 2 概述 2 监控数据库的性能: 2 优化数据库磁盘I/O 2 建立和优化数据库文件的方针: 6 监控磁盘I/O的方法: 7 优化回滚段 7 检测回滚段争用: 7 通过以下公式计算等待比率: 8 若...