`

Oracle读书笔记-----PL/SQL编程(三)之游标

 
阅读更多

游标是从数据库中提取出来一临时表的形式存放在内存中的数据。可以把游标看作是内存的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从入门到精通

    ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...

    pl/sql学习笔记

    PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库中的过程式编程语言,它结合了SQL查询语句和传统的过程式编程元素,使得在数据库管理中进行复杂逻辑处理成为可能。以下是对PL/SQL的学习笔记...

    PL/SQL学习笔记

    PL/SQL是Oracle公司开发的一种过程化SQL扩展,它是Oracle数据库的重要组成部分,用于在数据库服务器上编写存储过程、函数、触发器、包等可执行代码。PL/SQL可以处理复杂的数据操作和业务逻辑,支持编程结构如循环、...

    PL/SQL学习教程,附笔记

    PL/SQL,全称是Procedural Language/Structured Query Language,是Oracle数据库提供的一种结合了SQL语言和过程式编程的编程环境。它扩展了SQL的功能,使得开发人员能够编写复杂的数据库应用程序,处理事务、实现...

    PL/SQL笔记pl/sql笔记

    本篇笔记主要涵盖了PL/SQL的基础语法和常用操作,包括检索数据、操纵数据以及SQL游标的应用。 在PL/SQL块中,可以直接嵌入的数据操作语句包括SELECT、DML(INSERT、UPDATE、DELETE)以及事务控制语句(COMMIT、...

    PL/SQl超级笔记

    总的来说,“PL/SQL超级笔记”应该涵盖了从基本语法到高级特性的全面教程,通过学习,新手可以逐步掌握如何使用PL/SQL进行数据库编程,从而更好地管理和操作Oracle数据库。配合"oracle_ppt"中的PPT材料,学习效果会...

    pl/sql个人笔记.

    PL/SQL(程序化SQL)是Oracle数据库的标准编程语言,它扩展了SQL的功能,允许在数据库环境中编写过程化的业务逻辑。在PL/SQL中,可以嵌入多种类型的SQL语句来实现复杂的数据处理任务。根据标题和描述中的内容,我们...

    pl/sql培训笔记

    ### PL/SQL培训笔记知识点概览 ...通过以上知识点的介绍,我们可以看出PL/SQL不仅是一种强大的数据库编程语言,也是Oracle数据库的核心功能之一,熟练掌握PL/SQL对于开发高质量、高性能的数据库应用程序至关重要。

    我的PL/SQL学习笔记(一)

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种结合了SQL语言与过程式编程的高级语言,主要用于数据库管理和应用程序开发。在这个“我的PL/SQL学习笔记(一)”中,我们将探讨PL/SQL的基础知识,包括其...

    PL/SQL听课笔记

    ### PL/SQL听课笔记 #### 一、PL/SQL简介 **PL/SQL**(Procedural Language for SQL)是一种专门为Oracle数据库设计的过程化语言扩展。它是在标准SQL基础上增加了一系列高级编程特性,如变量、控制结构、函数、...

    oracle笔记 (PL-SQL)

    Oracle笔记(PL-SQL)是关于数据库管理和编程的一个重要主题,主要聚焦于Oracle数据库系统中的结构化查询语言(SQL)的扩展——PL/SQL。PL/SQL是一种过程化语言,结合了SQL的功能,使得开发者能够编写复杂的数据库应用...

    oracle笔记二--plsql 编程.txt

    **标题**: oracle笔记二--plsql 编程 **描述**: oracleoracleoracleoracleoracleoracleoracleoracle(推测为占位符文本,无实际意义) **标签**: oracle **部分内容**: 在部分内容中提到了关于Oracle 10g的安装与...

    PL/SQL文本文档

    PL/SQL,全称为Procedural Language/Structured Query Language,是Oracle数据库的一种扩展,它将SQL(结构化查询语言)与过程式编程语言相结合,为数据库管理提供了强大的编程能力。以下是对PL/SQL的一些核心知识点...

    pl/sql学习小结笔记

    PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库的一种扩展语言,用于处理数据库中的数据和实现复杂的业务逻辑。以下是对PL/SQL的基础知识进行的详细阐述: 1. **匿名块与命名块**: ...

    很有价值的oracle SQL编程笔记

    Oracle SQL编程是数据库管理的重要组成部分,特别是在Oracle数据库系统中,SQL与PL/SQL结合使用,大大增强了数据库操作的灵活性和效率。以下是一些关键知识点的详细说明: 1. **PL/SQL**: PL/SQL(Procedural ...

    Oracle PL SQL Programming 第五版-带书签目录超清文字版

    Oracle PL/SQL编程是Oracle数据库开发中的核心技能之一,它是一种强大的过程式语言,用于在Oracle环境中编写存储过程、函数、触发器等数据库程序。第五版的《Oracle PL SQL Programming》是一本深入学习PL/SQL的权威...

    oracle安装-卸载-初识oracle-笔记

    PL/SQL是Oracle特有的编程语言,结合了SQL和过程式编程,常用于编写存储过程、函数、触发器等,实现了数据库的逻辑控制和业务逻辑。 以上是对Oracle安装、卸载及初步使用的一个全面概述,希望对初学者有所帮助。在...

    oracle-PROC编程学习笔记

    Oracle PROC,全称为Oracle Pro*C,是Oracle公司提供的一种预编译器,它将C语言与PL/SQL结合,使得开发者能够使用C语言的强大功能来处理数据库操作。Oracle PROC编程学习笔记涵盖了对这一技术的深入理解和实践应用。...

Global site tag (gtag.js) - Google Analytics