显式游标和隐式游标
显式游标的使用需要4步:
1. 声明游标
CURSOR mycur(vartype number) is
select emp_no,emp_zc from cus_emp_basic
where com_no = vartype;
2. 打开游标
open mycur(000627)
注:000627是参数
3. 读取数据
fetch mycur into varno, varprice;
4. 关闭游标
close mycur;
游标的属性
oracle 游标有4个属性:%ISOPEN,%FOUND,%NOTFOUND,%ROWCOUNT。
%ISOPEN判断游标是否被打开,如果打开%ISOPEN等于true,否则等于false;
%FOUND %NOTFOUND判断游标所在的行是否有效,如果有效,则%FOUNDD等于true,否则等于false;
%ROWCOUNT返回当前位置为止游标读取的记录行数。
示例:
set serveroutput on;
declare
varno varchar2(20);
varprice varchar2(20);
CURSOR mycur(vartype number) is
select emp_no,emp_zc from cus_emp_basic
where com_no = vartype;
begin
if mycur%isopen = false then
open mycur(000627);
end if;
fetch mycur into varno,varprice;
while mycur%found
loop
dbms_output.put_line(varno||','||varprice);
if mycur%rowcount=2 then
exit;
end if;
fetch mycur into varno,varprice;
end loop;
close mycur;
end;
PL/SQL记录的结构和C语言中的结构体类似,是由一组数据项构成的逻辑单元。
PL/SQL记录并不保存在数据库中,它与变量一样,保存在内存空间中,在使用记录时候,要首先定义记录结构,然后声明记录变量。可以把PL/SQL记录看作是一个用户自定义的数据类型。
set serveroutput on;
declare
type person is record
(
empno cus_emp_basic.emp_no%type,
empzc cus_emp_basic.emp_zc%type);
person1 person;
cursor mycur(vartype number)is
select emp_no,emp_zc from cus_emp_basic
where com_no=vartype;
begin
if mycur%isopen = false then
open mycur(000627);
end if;
loop
fetch mycur into person1;
exit when mycur%notfound;
dbms_output.put_line('雇员编号:'||person1.empno||',地址:'||person1.empzc);
end loop;
close mycur;
end;
典型游标for 循环
游标for循环示显示游标的一种快捷使用方式,它使用for循环依次读取结果集中的行数据,当form循环开始时,游标自动打开(不需要open),每循环一次系统自动读取游标当前行的数据(不需要fetch),当退出for循环时,游标被自动关闭(不需要使用 close)。使用游标for循环的时候不能使用open语句,fetch语句和close语句,否则会产生错误。
set serveroutput on;
declare
cursor mycur(vartype number)is
select emp_no,emp_zc from cus_emp_basic
where com_no=vartype;
begin
for person in mycur(000627) loop
dbms_output.put_line('雇员编号:'||person.emp_no||',地址:'||person.emp_zc);
end loop;
end;
分享到:
相关推荐
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计...通过实践和学习"Oracle PL/SQL实战(待续)"的相关内容,我们可以提升在Oracle环境中解决问题的能力,更好地管理和优化数据库系统。
PL/SQL还提供了游标(CURSOR)机制,允许我们逐行处理查询结果。此外,PL/SQL还支持集合类型,如VARRAY(可变数组)和TABLE(表类型),这对于处理大量数据非常有用。 这本书的配套源代码可能会涵盖以下几个方面: ...
以下是对"Oracle PL/SQL学习官方教材"中可能包含的主要知识点的详细解释: 1. **基础概念**:首先,教材会介绍PL/SQL的基本概念,包括块(Block)、变量(Variable)、常量(Constant)、数据类型(Data Types)和...
Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...
在PL/SQL中,可以使用显式游标(Explicit Cursor)或隐式游标(Implicit Cursor)。 - 隐式游标是由数据库自动管理的游标,用于处理SELECT语句返回单行数据的情况。 - 显式游标需要用户在PL/SQL代码中声明、打开、...
3. **集合和游标**:集合是PL/SQL中处理多行数据的有效工具,如VARRAYs(固定大小数组)和associative arrays(关联数组)。游标则允许我们一行一行地处理查询结果,是处理动态数据的重要手段。 4. **存储过程和...
在PL/SQL(Procedural Language/Structured Query Language)中,游标是处理单行或一组数据的关键工具,尤其在数据库编程中。游标允许程序员逐行操作数据集,而不仅仅是整个数据集作为一个整体。本篇文章将深入探讨...
PL/SQL中的SELECT语句可以返回结果集,可以使用游标(Cursor)来处理这些结果集。游标可以是显式的也可以是隐式的。显式游标需要显式地声明、打开、提取数据和关闭。游标的属性包括%NOTFOUND、%FOUND、%ISOPEN和%...
这个“PL/SQL学习资料”压缩包包含了对这一编程语言深入理解和应用的关键知识点。 PL/SQL由三部分组成:声明部分、执行部分和异常处理部分。在声明部分,我们可以定义变量、常量、游标、记录类型等;执行部分用于...
Web PL/SQL报表制作过程是一种将数据库数据转化为用户友好、可编辑的HTML报表的方法,它结合了HTML语言和PL/SQL编程,使得开发者能够创建直观且实用的在线报表。以下是对这一过程的详细说明: 1. **制作报表模板**...
在PL/SQL编程中,游标是处理查询结果集的重要工具。它们允许程序逐行处理结果,而不是一次性加载所有数据,这对于大型数据集尤其有用,因为它可以节省内存并提高性能。下面将详细解释游标的基本概念、分类以及如何在...
本资源"PL/SQL 核心基础代码"是针对PL/SQL初学者的一个宝贵资料集合,包含了一系列核心基础部分的代码实例,旨在帮助学习者更好地理解和掌握PL/SQL编程。 在PL/SQL中,主要涉及以下几个关键知识点: 1. **声明变量...
在这个实例精讲中,你将学习如何使用PL/SQL进行数据操作,创建存储过程和函数,以及如何有效地处理错误和事务。通过对"student"数据库模式的实践,你将掌握Oracle数据库管理和应用程序开发的核心技能。通过不断练习...
《PL/SQL精通》这本书是针对Oracle数据库管理系统中PL/SQL编程语言的深入学习指南。Oracle SQL是Oracle数据库系统的核心语言,而PL/SQL则扩展了SQL的功能,提供了过程化编程的能力,使得数据库管理和开发更加高效和...
Oracle PL/SQL 学习指南 Oracle PL/SQL 是一种功能强大且灵活的编程语言,广泛应用于 Oracle 关系数据库管理系统中。本学习指南旨在帮助读者快速掌握 PL/SQL 的基础知识和高级技术。 PL/SQL 区块(BLOCK)的结构 ...
在 PL/SQL 中,游标声明使用 DECLARE 语句,例如 DECLARE CURSOR cursor_name IS…. 触发器 在 T-SQL 中,触发器使用 CREATE TRIGGER 语句,例如 CREATE TRIGGER….在 PL/SQL 中,触发器使用 CREATE TRIGGER 语句...
根据提供的文件内容,我们可以从中提取到关于PL/SQL语言及其对数据库交互作用的丰富知识点,本知识点详解将围绕以下几个方面展开:PL/SQL基本操作、PL/SQL处理数据库记录、游标(Cursor)的概念及其在PL/SQL中的使用...
此外,PL/SQL还有游标(CURSOR),用于逐行处理查询结果。游标通常与FOR循环一起使用,以遍历和操作查询结果集。 最后,PL/SQL中的事务管理也是关键。你可以使用`COMMIT`提交事务,`ROLLBACK`回滚事务,或者`...
这些练习通常设计得具有实际意义,旨在巩固每章学习的知识点,包括变量声明、条件语句(如IF-THEN-ELSIF)、循环(如FOR、WHILE)、游标(CURSOR)的使用、过程(PROCEDURE)和函数(FUNCTION)的创建以及异常处理...