当执行一条DML语句后,DML语句的结果保存在四个游标属性中,这些属性用于控制程序流程或者了解程序的状态。当运行DML语句时,PL/SQL打开一个内建游标并处理结果,游标是维护查询结果的内存中的一个区域,游标在运行DML语句时打开,完成后关闭。隐式游标只使用SQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT三个属性.SQL%FOUND,SQL%NOTFOUND是布尔值,SQL%ROWCOUNT是整数值。
SQL%FOUND和SQL%NOTFOUND
在执行任何DML语句前SQL%FOUND和SQL%NOTFOUND的值都是NULL,在执行DML语句后,SQL%FOUND的属性值将是:
. TRUE :INSERT
. TRUE :DELETE和UPDATE,至少有一行被DELETE或UPDATE.
. TRUE :SELECT INTO至少返回一行
当SQL%FOUND为TRUE时,SQL%NOTFOUND为FALSE。
SQL%ROWCOUNT
在执行任何DML语句之前,SQL%ROWCOUNT的值都是NULL,对于SELECT INTO语句,如果执行成功,SQL%ROWCOUNT的值为1,如果没有成功,SQL%ROWCOUNT的值为0,同时产生一个异常NO_DATA_FOUND.
SQL%ISOPEN
SQL%ISOPEN是一个布尔值,如果游标打开,则为TRUE, 如果游标关闭,则为FALSE.对于隐式游标而言SQL%ISOPEN总是FALSE,这是因为隐式游标在DML语句执行时打开,结束时就立即关闭。
分享到:
相关推荐
游标分为两种主要类型:**隐式游标**和**显示游标**。此外,还可以利用游标进行循环处理,以实现更复杂的数据操作需求。 #### 二、隐式游标 隐式游标是在执行DML(数据操纵语言)操作或单行`SELECT INTO`语句时由...
这里详细介绍了Oracle中的三种游标类型:隐式游标、显式游标和REF游标。 1. **隐式游标**: - 隐式游标是Oracle自动管理和使用的,不需要程序员显式声明。当执行DML(Insert、Delete、Update、Merge into)操作时...
隐式游标由Oracle自动创建和管理,主要用于DML(数据操纵语言)操作和单行SELECT语句。当执行这些操作时,Oracle会自动创建一个隐式游标来处理数据。隐式游标有四个主要属性: - `sql%rowcount`:返回受影响的行数...
游标分为隐式游标和显式游标两种类型。 **隐式游标** 隐式游标是Oracle自动管理的一种游标,主要用于DML(数据操纵语言)操作,如INSERT、UPDATE、DELETE以及返回一行的SELECT语句。Oracle预定义了一个名为SQL的...
在PL/SQL(Procedure Language extensions to SQL)中,游标分为隐式游标和显式游标两种。 首先,我们来看隐式游标的概念。隐式游标是由PL/SQL在执行SQL SELECT或DML(Data Manipulation Language)语句时自动创建...
本实验报告涵盖了数据库技术的多个方面,包括隐式游标、显式游标、游标属性、存储过程、日志组、日志成员状态等。 一、实验目的: 1. 掌握隐式游标的基本操作 2. 掌握游标的属性操作 3. 掌握参数化游标的使用 4. ...
它们可以接受参数,执行复杂操作,甚至包含控制流语句。在上述示例中,`oh_qty`是一个存储过程,用于更新库存表中特定工厂的数据。它使用游标遍历数据,然后根据条件更新库存量。 3. **游标**:游标是数据库系统中...
2. 隐式游标:隐式游标是在执行插入(insert)、删除(delete)、修改(update)和返回单条记录的查询(select)语句时由 PL/SQL 自动定义的。 四、游标的属性 游标的属性包括: 1. %ROWCOUNT:返回 FETCH 语句...
显式游标需要明确地声明、打开、提取和关闭,而隐式游标则由系统自动管理,通常在单行查询结果中使用。 **4.1 游标概念** 游标本质上是在内存中为SQL查询结果分配的一个工作区,称为上下文区或缓冲区。这个工作区...
1. **隐式游标**:在PL/SQL中,当执行DML语句(如INSERT, UPDATE, DELETE)时,系统会自动创建一个隐式游标。隐式游标不需要显式声明,其名称为SQL。可以通过隐式游标的属性如%ISOPEN, %FOUND, %NOTFOUND和%ROWCOUNT...
1. **隐式游标**:每当在PL/SQL块中执行DML语句(如INSERT、UPDATE、DELETE)时,Oracle会自动创建一个隐式游标。隐式游标无需显式声明,系统会自动管理其打开、关闭,并提供一些属性供查询,如%NOTFOUND、%FOUND和%...
当系统使用一个隐式游标时,可以通过隐式游标的属性来了解操作的状态和结果,进而控制程序的流程。隐式游标可以使用名字 SQL 来访问,但要注意,通过 SQL 游标名总是只能访问前一个处理操作或单行 SELECT 操作的游标...
隐式游标提供了几个内置属性来检查执行结果,如SQL%FOUND(表示是否找到并处理了至少一行数据)、SQL%NOTFOUND(表示没有找到任何行)和SQL%ROWCOUNT(返回处理的行数)。例如: ```sql DECLARE v_employee_id ...
游标分为显式游标和隐式游标。 1. **显式游标** - 定义:通过`CURSOR`关键字定义,例如`CURSOR c_employee IS SELECT * FROM employees WHERE department_id = :did;` - 打开:使用`OPEN`语句,如`OPEN c_...
游标可以分为两种类型:显式游标和隐式游标。 显式游标 显式游标需要声明、打开、读取和关闭四个步骤。声明游标时,需要指定游标名和SELECT语句。打开游标时,游标将位于结果集的第一条记录位置。读取数据时,从...
在前述程序中用到的 SELECT…INTO…查询语句,一次只能从数据库中提取一行数据,对于这种形式的查询和 DML 操作,系统都会使用一个隐式游标。但是如果要提取多行数据,就要由程序员定义一个显式游标,并通过与游标...
隐式游标是由Oracle自动管理的,当执行DML操作(INSERT、UPDATE、DELETE)或单行SELECT语句时,系统会自动使用隐式游标。例如,我们可以通过`SQL%FOUND`属性来检查操作是否成功,如下所示: ```sql BEGIN UPDATE...
- Oracle游标有两种类型:隐式游标和显式游标。隐式游标由数据库自动管理,通常在SQL DML语句执行时使用;显式游标则允许程序员更精细地控制数据处理过程。 2. **显式游标的操作** - OPEN:打开游标,准备读取...
2. **隐式游标** (2.隱式游標.txt) 隐式游标是Oracle为每个DML操作自动创建的,如INSERT、UPDATE或DELETE。用户通常不需要直接处理隐式游标,但可以通过%ROWCOUNT和%FOUND属性获取操作状态。 3. **参数化游标** (3...
游标可以分为两种类型:**隐式游标**和**显式游标**。 - **隐式游标**:由PL/SQL自动创建和管理的游标,主要用于处理单行记录。当执行某些DML语句(如`SELECT INTO`、`UPDATE`、`DELETE`)时会自动创建。 - **显式...