游标是从数据库中提取出来一临时表的形式存放在内存中的数据。可以把游标看作是内存的SQL工作区域,游标名称相当于该区域的句柄。通过该句柄可以有效地控制游标,从而实现对数据的操作。所以对游标的操作实际上就是对数据库库的间接操作。
1.1游标的定义
定义游标的格式如下:
CURSOR游标ISSELECT语句;
例如:把数据表中emp中部门号为20的员工定义为游标:
定义游标后,我们就可以使用游标了。但是要对游标进行操作我们必须先打开游标:
Open游标名;
打开游标实际上是从数据表中读取数据的过程,在这个过程中主要完成两件事:
1、把select查询结果读入内存工作区中。
2、将游标指针定位在第一条记录。
游标在使用后,要关闭:close游标名;
1.2利用fetch命令从游标中提取数据
我们定义游标并且打开游标后,就可以利用fetch命令从游标中提取数据。
FETCH游标名INTO变量名1,变量名2......
或者
FFETCJ游标名INTO纪录型变量名;
FETCH命令首先将当前游标指针所指的行读出来并且置于相应的变量中,然后把游标指针移到下一行。所以FETCH命令每一个执行的时候,只能提取一行或者部分的数据。
实例:
存在这样一种情况,如果游标指针已经指到了游标的末尾,那么FETCH命令将读不到数据了,所以应该有这样一种机制,这种机制可以测出游标是否已经指到了游标的末尾。这种机制就是游标的属性。
1.3游标的属性
游标有四个属性:%FOUND、%ISOPEN、%NOTFOUND、%ROWCOUNT。
下面就分别这四个属性介绍:
1.3.1%FOUND
该属性用于测试在自己所在语句之前的最后一个FETCH命令是否提取到了数据。如果能够提取到数据就返回true,否则返回false。但是如果一个游标还没有被打开就运用%FOUND,那么将会产生INVALID_CURSOR异常。
实例:
1.3.2%ISOPEN
该属性主要用于测试游标是否已经打开。
实例:
1.3.3%NOFOUND
该属性与%FOUND相反。这里就不做介绍了。
1.3.4%ROWCOUNT
当刚刚打开游标时,%ROWCOUNT的值为0。每运行一次FETCH命令,%ROWCOUNT的值就会自增1。因此%ROWCOUNT的值可以看着是游标中当前被读取了的记录的条数,即游标循环中处理的当前行数。如果一个有游标在打开之前调用%ROWCOUNT属性,就会产生异常INVALID_CURSOR。
实例:
1.4隐式游标
上面介绍的都是显示游标。其实Oracle还默认了一种游标,这个游标就是隐式游标。其被定义为SQL。它同时也具有4个属性。如下:
注意:隐式游标时不需要打开和关闭的。
下面就显示游标和隐式游标做一个比较
分享到:
相关推荐
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库中的过程式编程语言,它结合了SQL查询语句和传统的过程式编程元素,使得在数据库管理中进行复杂逻辑处理成为可能。以下是对PL/SQL的学习笔记...
PL/SQL是Oracle公司开发的一种过程化SQL扩展,它是Oracle数据库的重要组成部分,用于在数据库服务器上编写存储过程、函数、触发器、包等可执行代码。PL/SQL可以处理复杂的数据操作和业务逻辑,支持编程结构如循环、...
PL/SQL,全称是Procedural Language/Structured Query Language,是Oracle数据库提供的一种结合了SQL语言和过程式编程的编程环境。它扩展了SQL的功能,使得开发人员能够编写复杂的数据库应用程序,处理事务、实现...
本篇笔记主要涵盖了PL/SQL的基础语法和常用操作,包括检索数据、操纵数据以及SQL游标的应用。 在PL/SQL块中,可以直接嵌入的数据操作语句包括SELECT、DML(INSERT、UPDATE、DELETE)以及事务控制语句(COMMIT、...
总的来说,“PL/SQL超级笔记”应该涵盖了从基本语法到高级特性的全面教程,通过学习,新手可以逐步掌握如何使用PL/SQL进行数据库编程,从而更好地管理和操作Oracle数据库。配合"oracle_ppt"中的PPT材料,学习效果会...
PL/SQL(程序化SQL)是Oracle数据库的标准编程语言,它扩展了SQL的功能,允许在数据库环境中编写过程化的业务逻辑。在PL/SQL中,可以嵌入多种类型的SQL语句来实现复杂的数据处理任务。根据标题和描述中的内容,我们...
### PL/SQL培训笔记知识点概览 ...通过以上知识点的介绍,我们可以看出PL/SQL不仅是一种强大的数据库编程语言,也是Oracle数据库的核心功能之一,熟练掌握PL/SQL对于开发高质量、高性能的数据库应用程序至关重要。
PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种结合了SQL语言与过程式编程的高级语言,主要用于数据库管理和应用程序开发。在这个“我的PL/SQL学习笔记(一)”中,我们将探讨PL/SQL的基础知识,包括其...
### PL/SQL听课笔记 #### 一、PL/SQL简介 **PL/SQL**(Procedural Language for SQL)是一种专门为Oracle数据库设计的过程化语言扩展。它是在标准SQL基础上增加了一系列高级编程特性,如变量、控制结构、函数、...
Oracle笔记(PL-SQL)是关于数据库管理和编程的一个重要主题,主要聚焦于Oracle数据库系统中的结构化查询语言(SQL)的扩展——PL/SQL。PL/SQL是一种过程化语言,结合了SQL的功能,使得开发者能够编写复杂的数据库应用...
**标题**: oracle笔记二--plsql 编程 **描述**: oracleoracleoracleoracleoracleoracleoracleoracle(推测为占位符文本,无实际意义) **标签**: oracle **部分内容**: 在部分内容中提到了关于Oracle 10g的安装与...
PL/SQL,全称为Procedural Language/Structured Query Language,是Oracle数据库的一种扩展,它将SQL(结构化查询语言)与过程式编程语言相结合,为数据库管理提供了强大的编程能力。以下是对PL/SQL的一些核心知识点...
PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库的一种扩展语言,用于处理数据库中的数据和实现复杂的业务逻辑。以下是对PL/SQL的基础知识进行的详细阐述: 1. **匿名块与命名块**: ...
Oracle SQL编程是数据库管理的重要组成部分,特别是在Oracle数据库系统中,SQL与PL/SQL结合使用,大大增强了数据库操作的灵活性和效率。以下是一些关键知识点的详细说明: 1. **PL/SQL**: PL/SQL(Procedural ...
Oracle PL/SQL编程是Oracle数据库开发中的核心技能之一,它是一种强大的过程式语言,用于在Oracle环境中编写存储过程、函数、触发器等数据库程序。第五版的《Oracle PL SQL Programming》是一本深入学习PL/SQL的权威...
PL/SQL是Oracle特有的编程语言,结合了SQL和过程式编程,常用于编写存储过程、函数、触发器等,实现了数据库的逻辑控制和业务逻辑。 以上是对Oracle安装、卸载及初步使用的一个全面概述,希望对初学者有所帮助。在...
Oracle PROC,全称为Oracle Pro*C,是Oracle公司提供的一种预编译器,它将C语言与PL/SQL结合,使得开发者能够使用C语言的强大功能来处理数据库操作。Oracle PROC编程学习笔记涵盖了对这一技术的深入理解和实践应用。...