(一)、游标的用法学习
(a)、游标就是指在某个结果集上的指针,通过这个指针的移动,我们得以遍历整个结果集
(b)、游标的使用步骤
(1)声明游标
(2)打开游标
(3)处理游标中的数据
(4)关闭游标
(c)、最常用的游标属性有以下四个:
%isopen,boolean类型变量,用来代表游标是否打开。
%notfound,boolean类型变量,如果最近的fetch语句没有返回一条记录,取true。
%found,boolean类型变量,如果最近的fetch语句取到了记录,取true。
%rowcount,number类型变量,用来代表目前fetch到的记录的总行数。
(二)、游标的遍历方式
(1)、Loop循环遍历游标 利用loop循环和%notfound属性实现游标的遍历
(2)、While循环遍历游标 利用while循环配合%found属性实现游标的遍历
(3)、for循环遍历游标 利用for循环遍历游标,不需要打开游标,也不需要关闭,甚至不用声明循环变量,最简单
--用三种循环遍历游标
declare
--声明游标
cursor c_emp(v_deptno number) is select * from emp e where e.deptno=v_deptno;
--声明一个游标的行变量 loop遍历或者while loop遍历时使用
c_emp_row c_emp%rowtype;
begin
/* --loop 遍历
--打开游标
open c_emp(10);
--使用游标
loop
fetch c_emp into c_emp_row ;--取数据
exit when c_emp%notfound;
dbms_output.put_line(c_emp_row.ename);
end loop;
--关闭游标
close c_emp;*/
dbms_output.put_line('----------------------for循环遍历游标------------------------');
--for循环遍历游标
for emp_row in c_emp(10) loop
dbms_output.put_line(emp_row.ename);
end loop;
dbms_output.put_line('---------------------while循环遍历游标-------------------------');
--while循环遍历游标
open c_emp(10);
fetch c_emp into c_emp_row ;--取数据
while c_emp%found loop
dbms_output.put_line(c_emp_row.ename);
fetch c_emp into c_emp_row ;--取数据
end loop;
close c_emp;
end;
(三)、使用游标更新结果集
select语句后面添加for update来提示oracle锁定记录以便进行更新,
用where current of 来指明操作是添加在当前游标所指向的记录上。
示例
declare
--
cursor c is select * from emp2 e for update;
v_temp c%rowtype;
begin
for v_temp in c loop
dbms_output.put_line(v_temp.sal);
if(v_temp.sal < 2000) then
update emp2 set sal =7000 where current of c;
elsif(v_temp.sal = 5000) then
delete from emp2 where current of c;
end if;
end loop;
end;
分享到:
相关推荐
以下是对PL/SQL的学习笔记的详细解析: 1. **什么是PL/SQL语言** PL/SQL是Oracle数据库为数据库管理员和开发人员设计的一种编程语言。它扩展了SQL的功能,允许编写包含控制结构、变量、过程和函数的程序段,这些...
20).doc 和 Oracle007(9-15).doc:这些文档可能包含了PL/SQL的分步骤教程,从第9讲到第20讲,涵盖了PL/SQL的基本概念、语法、变量声明、控制结构(如IF-ELSE,WHILE,FOR循环)以及游标(CURSOR)的使用等内容。...
**PLSQL学习笔记** PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库提供的一种结合了SQL语言和过程编程的语言,它扩展了SQL的功能,使得开发人员可以在数据库中编写复杂的程序逻辑。本笔记...
Sqlplus是一款命令行工具,用于连接Oracle数据库并执行SQL语句或PL/SQL脚本。它适用于快速测试和调试存储过程等功能。 #### PL/SQL Developer PL/SQL Developer是一款集成开发环境,专为PL/SQL开发而设计,提供了...
这份笔记涵盖了从Oracle PL/SQL编程到SQL查询语言的广泛主题,旨在帮助读者深入理解Oracle数据库的运作机制和应用技巧。 首先,我们来看看《Oracle PL-SQL入门教程(经典).doc》。这份文档详细介绍了PL/SQL,Oracle...
### 韩顺平玩转Oracle学习笔记知识点详解 #### 一、Oracle基本使用——基本命令 ##### 连接命令 - **`conn[ect]`**:此命令用于连接到Oracle数据库。语法如下: - `conn 用户名/密码@网络服务名 [as sysdba/...
PL/SQL学习笔记............358 第一章 PL/SQL概述........................358 第二章 PL/SQL程序结构................359 第三章 PL/SQL数据类型................362 第四章 PL/SQL中的控制语句........368 第五章...
SQL*Plus是一种常用的Oracle命令行工具,用于执行SQL和PL/SQL脚本。 - **变量**:`&` 符号用于定义变量。例如,在 `SELECT * FROM dept WHERE depno=&depno;` 中,`&depno` 是一个变量,可以在运行时被用户输入值。...
8. **游标(Cursor)**:游标是PL/SQL中处理查询结果集的重要工具。声明一个游标,然后通过OPEN, FETCH, 和 CLOSE操作来使用它。示例中的`FOR LOOP`结构简化了游标的使用,它可以自动遍历结果集并处理每一行。 9. *...
学习笔记可能会介绍如何启动SQL*Plus、编写SQL脚本、设置环境变量、查看帮助文档、格式化输出以及执行批处理等技巧。此外,SQL*Plus还提供了交互式查询的功能,如运行SQL查询、编辑和保存SQL脚本、处理错误和异常等...
PL/SQL学习笔记............358 第一章 PL/SQL概述........................358 第二章 PL/SQL程序结构................359 第三章 PL/SQL数据类型................362 第四章 PL/SQL中的控制语句........368 第五章...
标题 "个人日常学习资料整理最终" 暗示...每个子目录可能包含PDF文档、笔记、PPT演示文稿、SQL脚本文件等形式的学习材料。通过系统地学习和实践这些资料,可以对Oracle数据库有一个全面而深入的理解,并提升相关技能。
无论是操作系统层面的 Unix,还是数据库相关的 SQL 和 PL/SQL,再到数据交换格式 CSV,以及编程语言 Java 和数据描述语言 XML,再到 Java 与数据库交互的 JDBC,最后是软件设计中的 UML,都是构建现代软件系统不可或...
这篇笔记主要聚焦于"玩转Oracle学习笔记(四)",作者通过文档分享了他在数据库管理、查询优化、数据处理等方面的经验。以下是对这些知识点的详细解析: 1. 数据库创建与连接: - Oracle数据库的安装与配置:学习...
` 在内置编辑器中打开指定路径下的SQL脚本进行编辑。 - **截取输出**: `SPOOL 绝对路径 ... SPOOL OFF;` 将SQL命令的输出重定向到指定的文件中。 - **设置行宽**: `SET LINESIZE 数字;` 调整SQL*Plus窗口中每行...
【压缩包子文件的文件名称列表】"sql-oracle-bhcc-master" 暗示可能包含有源代码、笔记、练习题、数据库脚本或教学材料,这些都与学习和理解SQL和Oracle数据库相关。 在SQL编程中,你需要了解的基础概念包括: 1. ...
3. 实例代码:SQL脚本和PL/SQL程序,用于实践操作和理解。 4. 解决方案:针对常见问题的解答和解决方案。 5. 测试题库:模拟考试或练习题,帮助检验学习成果。 6. 讨论论坛链接或笔记:促进学员间的交流,分享学习...
3. **PL/SQL编程**:Oracle的编程语言,用于编写过程化逻辑,包括变量声明、条件判断、循环结构、异常处理、游标、存储过程和函数。 4. **表和索引**:深入理解表的结构,如字段、约束(主键、外键、唯一性约束等)...
2. "Oracle游标使用.doc":游标是数据库操作中处理单条记录的重要工具,文档可能会详细解释如何声明、打开、读取和关闭游标,以及在PL/SQL中的应用。 3. "oracle分析函数.doc":分析函数是Oracle数据库中用于处理...