当执行一条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语句执行时打开,结束时就立即关闭。
分享到:
相关推荐
在Oracle数据库中,`SQL%NOTFOUND`是一个非常实用的PL/SQL内置变量,它用于检测最近执行的DML(Data Manipulation Language)语句,如UPDATE、INSERT、DELETE或SELECT INTO,是否影响了任何行。这个变量是布尔类型的...
- Oracle 提供了 SQL%FOUND、SQL%NOTFOUND 和 SQL%ROWCOUNT 等属性来检查游标状态。例如,`SQL%FOUND` 为 TRUE 表示最近一次读取操作成功,而 `SQL%ROWCOUNT` 返回的是从游标中读取的记录数。 6. 实际应用代码: ...
隐式游标不需要显式声明,但它提供了几个有用的属性,如SQL%ROWCOUNT、SQL%FOUND、SQL%NOTFOUND和SQL%ISOPEN,用于检查操作状态和结果。 - **SQL%ROWCOUNT**:返回整型值,表示DML语句成功执行时影响的数据行数。 -...
SQL Server的隐式游标属性有`SQL%FOUND`、`SQL%NOTFOUND`和`SQL%ROWCOUNT`,Oracle的相应属性也是这些,但名称不变。 - `SQL%FOUND`和`SQL%NOTFOUND`用于检查最近一次DML操作是否影响了数据,`SQL%ROWCOUNT`则返回...
- SQL Server中的隐式游标可以通过`@@fetch_status`检查状态,`SQL%FOUND`和`SQL%NOTFOUND`用于Oracle。 - `SQL%FOUND`在Oracle中为TRUE表示最近一次操作成功返回数据,`SQL%NOTFOUND`与之相反。 - `SQL%ROWCOUNT...
3. **SQL%NOTFOUND**: 与SQL%FOUND相反,当没有找到数据或者DML操作没有影响任何行时,此属性为TRUE。 4. **SQL%ISOPEN**: 这是一个布尔型属性,对于隐式游标,它在DML操作执行期间为TRUE,操作完成后变为FALSE,...
这个游标有四个关键属性:SQL%FOUND、SQL%NOTFOUND、SQL%ROWCOUNT和SQL%ISOPEN。SQL%FOUND和SQL%NOTFOUND是布尔值,分别表示DML语句是否找到匹配的行;SQL%ROWCOUNT返回受影响的行数。例如,`IF SQL%FOUND THEN ...`...
隐式游标的属性有四种,分别是 SQL %ISOPEN、SQL %FOUND、SQL %NOTFOUND、SQL %ROWCOUNT。这些属性可以用来判断游标的状态和结果,进而控制程序的流程。 在使用游标时,需要注意以下几点: 1. 游标需要在声明部分...
在本章"SQL:第三章与Oracle服务器交互"中,主要介绍了如何在PL/SQL环境中与Oracle数据库服务器进行交互,包括执行SQL语句,如SELECT、INSERT、UPDATE和DELETE,以及使用游标来处理查询结果。以下是详细的知识点说明...
隐式游标的属性有四种:SQL%ROWCOUNT、SQL%FOUND、SQL%NOTFOUND和SQL%ISOPEN。可以通过这些属性来了解操作的状态和结果,进而控制程序的流程。 隐式游标的属性: * SQL%ROWCOUNT:整型,代表DML语句成功执行的数据...
DML语句执行后,它们的结果会被保存在四个隐式游标属性中:SQL%FOUND、SQL%NOTFOUND、SQL%ROWCOUNT和SQL%ISOPEN。其中,SQL%FOUND和SQL%NOTFOUND是布尔值,用来判断是否找到数据;SQL%ROWCOUNT是一个整数值,表示受...
显式游标也有类似隐式游标的属性,例如%ROWCOUNT、%FOUND、%NOTFOUND和%ISOPEN,但它们针对的是显式游标。 示例: ```sql declare cursor cur_policy is select cm.policy_code, cm.applicant_id, cm.period_prem...
可以通过SQL%ROWCOUNT、SQL%FOUND、SQL%NOTFOUND等属性来检查操作结果。 3. INTO子句 INTO子句用于将查询结果赋值给变量。在PL/SQL中,当使用SELECT语句时,通常与INTO子句结合,将查询结果存储到已声明的变量中。...
游标在数据库编程中起着至关重要的作用,尤其是在Oracle和SQL中。它们允许程序员逐行处理查询结果,而不仅仅是一次性获取所有数据。本教程将深入介绍Oracle和SQL中的游标概念,以及如何通过实例来理解和应用它们。 ...
隐式游标提供了几个内置的伪列,如`SQL%ROWCOUNT`、`SQL%FOUND`和`SQL%NOTFOUND`,它们可以用来检查操作是否成功以及影响了多少行。 1. **SQL%FOUND**: 当执行了DML操作后,如果游标找到了匹配的行并进行了操作,`...
其中SQL%FOUND和SQL%NOTFOUND用于判断DML语句是否有影响到数据行,SQL%ROWCOUNT用于返回影响的行数,SQL%ISOPEN表示游标是否处于打开状态。 当在PL/SQL块中使用SELECT语句时,需要与INTO子句结合使用,将查询结果...
这个隐式游标有四个属性:SQL%FOUND、SQL%NOTFOUND、SQL%ROWCOUNT和SQL%ISOPEN。例如,SQL%FOUND和SQL%NOTFOUND分别表示是否找到匹配的行,而SQL%ROWCOUNT则返回受影响的行数。这些属性可以用来控制程序流程,例如...
9. `%FOUND`、`%OPEN`和`%ROWCOUNT`是游标(Cursor)的属性,而`%NOTFOUND`不是(选项a)。`%NOTFOUND`用于检查是否在当前游标位置找到了任何行。 10. `SQL%ROWCOUNT`返回最后执行的DML语句(数据操纵语言,如...